Compreensões de Listas

Compreensões de lista são uma das características mais poderosas e elegantes do Python. Elas permitem criar listas de forma concisa e legível em uma única linha de código. As compreensões de lista são uma alternativa eficiente aos loops tradicionais para criar, filtrar e transformar listas em Python. Neste tutorial, vamos explorar a fundo as compreensões de lista, entender sua sintaxe e aprender a utilizá-las para criar listas de maneira eficiente.

1. Compreensões de Lista Básicas:

A sintaxe básica de uma compreensão de lista é simples e direta:

nova_lista = [expressao for item in iteravel if condicao]
  • expressao: A expressão que define o novo elemento na lista.
  • item: Variável que representa cada elemento no iterável.
  • iteravel: A sequência de elementos (por exemplo, lista, tupla, range) que será percorrida.
  • condicao: (Opcional) Uma condição para filtrar os elementos do iterável.

Exemplo 1: Criando uma Lista de Quadrados:

numeros = [1, 2, 3, 4, 5]
quadrados = [x ** 2 for x in numeros]
print(quadrados)  # Saída: [1, 4, 9, 16, 25]

Neste exemplo, a compreensão de lista cria uma nova lista contendo os quadrados dos números na lista numeros.

2. Compreensões de Lista com Condições:

Você pode adicionar uma condição para filtrar os elementos do iterável antes de adicioná-los à lista resultante.

Exemplo 2: Filtrando Números Pares:

numeros = [1, 2, 3, 4, 5]
pares = [x for x in numeros if x % 2 == 0]
print(pares)  # Saída: [2, 4]

Neste exemplo, apenas os números pares são adicionados à lista resultante.

3. Compreensões de Lista com Expressões Condicionais:

As compreensões de lista também podem conter expressões condicionais para transformar elementos de forma mais complexa.

Exemplo 3: Transformando Números Pares em “Par” e Ímpares em “Ímpar”:

numeros = [1, 2, 3, 4, 5]
resultado = ["Par" if x % 2 == 0 else "Ímpar" for x in numeros]
print(resultado)  # Saída: ['Ímpar', 'Par', 'Ímpar', 'Par', 'Ímpar']

Neste exemplo, a compreensão de lista usa uma expressão condicional para transformar números pares em “Par” e números ímpares em “Ímpar”.

4. Compreensões de Lista com Iteráveis Aninhados:

Você também pode usar compreensões de lista com iteráveis aninhados para criar listas mais complexas.

Exemplo 4: Criando uma Lista de Tuplas com Pares de Números:

numeros = [1, 2, 3]
pares = [(x, y) for x in numeros for y in numeros]
print(pares)  # Saída: [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

Neste exemplo, a compreensão de lista cria uma lista de tuplas contendo todas as combinações possíveis de pares de números.

As compreensões de lista são uma ferramenta poderosa e versátil em Python. Elas permitem que você crie listas de forma eficiente e concisa, economizando várias linhas de código em comparação com loops tradicionais. Ao compreender e dominar o uso de compreensões de lista, você poderá escrever código mais limpo, claro e eficiente em Python.