ExpertiDict

Python · Essencial · Inglês · Técnico

list comprehension

/lɪst ˌkɑmpɹɪˈhɛnʃən/substantivo

Sintaxe compacta que cria uma lista a partir de um iterável, com transformação e filtro opcionais, em uma única expressão entre colchetes.

Onde usar

Surge em transformações simples de dados, como converter e filtrar itens. Quando fica aninhada demais ou com várias condições, o review pede para voltar ao laço for por legibilidade.

Em código

quadrados = [n * n for n in range(5)]
pares = [n for n in range(10) if n % 2 == 0]
print(quadrados, pares)

Exemplos

I replaced the loop with a list comprehension.

Troquei o laço por uma list comprehension.

That list comprehension is getting hard to read.

Essa list comprehension está ficando difícil de ler.

Cuidado

Não use só pelos efeitos colaterais, como chamar print dentro dela; isso cria uma lista inútil e esconde a intenção.

Sinônimos

compreensão de lista

Origem

Inspirada na notação matemática de conjuntos definidos por compreensão.

Veja também

Todos os termos de Python