Compreensão de Listas em Python

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

A compreensão de listas é um recurso poderoso e conciso do Python que permite a criação de novas listas de forma eficiente e legível. Neste artigo, vamos explorar como você pode utilizar a compreensão de listas para simplificar seu código e torná-lo mais Pythonico.

O Que é Compreensão de Listas?

A compreensão de listas é uma maneira de construir listas usando uma expressão concisa que pode substituir loops for e certas funções lambda. A sintaxe básica é:

[nova_expressao for item in iteravel if condicao]

Exemplos Básicos

Vamos começar com um exemplo simples. Suponha que você queira criar uma lista dos quadrados dos números de 0 a 9. Tradicionalmente, você faria algo assim:

quadrados = [] for x in range(10): 
    quadrados.append(x**2)

Com a compreensão de listas, você pode reduzir essas quatro linhas de código para uma única linha:

quadrados = [x**2 for x in range(10)]
print(quadrados)
Testar

Filtrando Itens

A compreensão de listas também permite filtrar itens. Por exemplo, se você quiser apenas os quadrados dos números pares, poderia fazer:

quadrados_pares = [x**2 for x in range(10) if x % 2 == 0]
print(quadrados_pares)
Testar

Operações Complexas

Você não está limitado a operações simples; qualquer expressão Python pode ser usada na compreensão de listas. Por exemplo, se você quiser ajustar os preços com base em um determinado fator de conversão, poderia fazer:

precos_em_dolares = {'leite': 0.78, 'carne': 4.60, 'maçã': 0.35} 
fator_conversao = 4.93 
precos_em_reais = {produto: round(preco * fator_conversao, 2) for (produto, preco) in precos_em_dolares.items()}

print(precos_em_reais)
Testar

Compreensão de Listas Aninhadas

Você pode até mesmo aninhar compreensões de listas dentro de outras compreensões de listas. Por exemplo, se você quiser criar uma matriz 3×3 com números quadrados, poderia fazer:

matriz = [[x**2 for x in range(3)] for y in range(3)]
print(matriz)
Testar

Quando Usar Compreensão de Listas

A compreensão de listas é mais adequada para quando você precisa criar uma nova lista a partir de uma sequência existente ou iterável. No entanto, se o seu código se tornar muito complexo ou difícil de ler, talvez seja melhor usar um loop for tradicional.

Dicas e Melhores Práticas

  • Mantenha sua compreensão de listas legível; se ficar muito complicada, considere dividir a operação ou usar um loop for.
  • Use compreensão de listas para substituir map e filter quando possível, pois geralmente é mais claro.
  • Lembre-se de que compreensão de listas pode ser mais rápida que loops for tradicionais em muitos casos, devido à otimização interna do Python.

Conclusão

A compreensão de listas é uma ferramenta poderosa que, quando usada corretamente, pode tornar seu código mais eficiente e legível. Pratique a criação de compreensões de listas para diferentes cenários e você logo descobrirá que elas se tornam uma parte natural do seu arsenal de codificação em Python.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: