List Comprehension no Python: Substitua Loops 'for' por Código em 1 Linha
List Comprehension no Python: Substitua Loops 'for' por Código em 1 Linha
A List Comprehension é um recurso idiomático do Python que permite criar e modificar listas de forma concisa em uma única linha de código. Ela substitui estruturas tradicionais de loops
for e chamadas encadeadas de map() ou filter(), tornando a leitura do código mais limpa e a execução mais rápida.Python
# Lista de valores numéricos de exemplo
numeros = [12, 5, 8, 19, 20, 3, 14]
# 1. Transformação simples: Elevar todos os números ao quadrado
quadrados = [x ** 2 for x in numeros]
# 2. Filtragem simples: Manter apenas os números pares
pares = [x for x in numeros if x % 2 == 0]
# 3. Transformação e Filtragem juntas: Elevar ao quadrado apenas os números maiores que 10
quadrados_maiores_10 = [x ** 2 for x in numeros if x > 10]
# Exemplo prático de saída
print(f"Lista Original: {numeros}")
print(f"Transformação (Quadrados): {quadrados}")
print(f"Filtragem (Apenas Pares): {pares}")
print(f"Filtragem + Transformação: {quadrados_maiores_10}")
Pontos-chave
- Estrutura de Sintaxe Básica: A sintaxe segue o padrão
[expressao for item in iteravel if condicao], onde aexpressaodefine a transformação e oifopcional atua como filtro. - Performance Superior: Por ser otimizada diretamente na linguagem em nível de C (CPython), a List Comprehension costuma ser consideravelmente mais rápida do que a montagem de uma nova lista via
append()dentro de um loopfortradicional. - Uso de Cláusula
if-else(Ternária): Para transformar os elementos com condições diferentes (ex: substituir pares por "par" e ímpares por "ímpar"), o operador ternário deve vir antes dofor:["par" if x % 2 == 0 else "ímpar" for x in numeros]. - Legibilidade e Sobrecarga: Evite aninhar múltiplas list comprehensions ou adicionar condições extremamente complexas na mesma linha, pois isso prejudica a legibilidade e a manutenção do código.

Comentários
Postar um comentário