Python – List Comprehension

Uso Geral

Gerar um iterável baseado em um outro iterável. No meio deste caminho é possível fazer um processamento de dados.

Exemplos

Básico

In [1]: numeros = [1,2,3,4,5]                         
In [2]: novos_numeros = [numero for numero in numeros]
In [3]: novos_numeros                                 
Out[3]: [1, 2, 3, 4, 5]

Funciona assim: o numero é uma variável e o valor da iteração (for numero in numeros) é colocado nesta variável.

Utilizando Operações

Podemos realizar operações com os valores iterados:

In [1]: numeros = [10,20,30,40,50]            
In [2]: novos_numeros = [numero/2 for numero in numeros]         
In [3]: novos_numeros                                             
Out[3]: [5.0, 10.0, 15.0, 20.0, 25.0]

Utilizando Condicionais (filtrando)

In [1]: numeros = [1,2,3,4,5,6,7,8,9,10]
In [2]: novos_numeros = [numero for numero in numeros if numero>5]
In [3]: novos_numeros
Out[3]: [6, 7, 8, 9, 10]