Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Compreensão de Listas
Compreensão de Listas (CL) é uma funcionalidade muito poderosa da linguagem Python que possibilita criar uma lista nova aplicando uma função para cada elemento da lista original. Com a compreensão de lista é possível reduzir a expressão em um única linha, num formato semelhante a notação de conjuntos da matemática, economizando linhas de códigos. O formato geral da compreensão é:
-
Um exemplo simples:
S = { x | x ∈ N,x < 10} em python: S = [x for x in range(0, 10)]
S = { x | x ∈ Z, x < 20, x é par} em python: S = [x for x in range(0, 20) if x % 2 == 0]S = { x | x é uma letra na palavra 'BANANA', x é vogal} em python: S = [x for x in 'BANANA' if x in ['A', 'E', 'I', 'O', 'U']]
Agora execute os exemplos e veja os resultados:
A compreensão que num primeiro momento parace confusa, exige apenas exercícios. Vamos Fazer uma comparação com a estrutura for considerndo o seguinte exemplo:
S = {x | x ∈ N, x ≤ 100, x é uma raiz quadrada exata}
Escrito utilizando a estrutura FOR:
for i in range(1, 101): #iterador
if int(i**0.5) == i**0.5: #filtro condicional
print i #retorno
Escrito em código CL:
[ i for i in range(1, 100) if int(i**0.5) == i**0.5 ]