List Comprehension em Python
A List Comprehension é uma característica poderosa e elegante do Python que permite criar listas de maneira concisa e eficiente. Essa construção sintática simplifica o processo de criação de listas a partir de iteráveis, como listas, tuplas, conjuntos, ou mesmo strings. Neste artigo, vamos explorar em detalhes o conceito de List Comprehension em Python, entender sua sintaxe e descobrir como aproveitá-la ao máximo em seu código.
Entendendo a List Comprehension
Em sua forma mais simples, uma List Comprehension em Python segue a seguinte estrutura:
[expressão for item in iterável]
Essa expressão cria uma nova lista aplicando uma expressão a cada item em um iterável, como uma lista, e adicionando o resultado à nova lista. A expressão pode ser qualquer operação ou cálculo que você deseja aplicar a cada item do iterável.
Sintaxe
A sintaxe básica de uma List Comprehension inclui os seguintes elementos:
A parte inicial, dentro dos colchetes, é a expressão que define cada elemento da nova lista.
Em seguida, vem a cláusula
for
, seguida de uma variável (ou variáveis) que representam os itens do iterável.Por fim, especificamos o iterável do qual estamos retirando os elementos.
Vamos examinar um exemplo simples para ilustrar como isso funciona:
# Criando uma lista de números pares de 0 a 9
pares = [num for num in range(10) if num % 2 == 0]
print(pares) # Saída: [0, 2, 4, 6, 8]
Neste exemplo, estamos criando uma lista de números pares de 0 a 9. A expressão num for num in range(10)
itera sobre os números de 0 a 9, e a condição if num % 2 == 0
verifica se o número é par. Se for, ele é adicionado à lista.
Usos Avançados
A List Comprehension em Python também suporta múltiplas iterações e condições, permitindo uma maior flexibilidade. Por exemplo:
# Criando uma lista de tuplas com todas as combinações de pares (x, y) onde x é um número de 1 a 3 e y é um número de 1 a 3
combinacoes = [(x, y) for x in range(1, 4) for y in range(1, 4)]
print(combinacoes) # Saída: [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
Neste exemplo, estamos criando uma lista de tuplas representando todas as combinações possíveis de pares (x, y), onde x e y são números de 1 a 3.
List Comprehension vs Loop Tradicional
Embora List Comprehensions possam tornar o código mais conciso e legível em muitos casos, é importante entender que nem sempre são a melhor escolha. Às vezes, um loop tradicional pode ser mais claro, especialmente quando a lógica é complexa ou envolve múltiplas etapas.
Por fim
Com a List Comprehension podemos criar listas de maneira concisa e eficiente em Python. Ao dominar essa construção sintática, você pode escrever código mais limpo e expressivo, economizando tempo e tornando seu código mais legível. No entanto, lembre-se de que a clareza do código é fundamental, e use List Comprehensions apenas quando elas tornarem o código mais compreensível e eficiente.
Subscribe to my newsletter
Read articles from Rodrigo Viana directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Rodrigo Viana
Rodrigo Viana
Oi, eu sou o Rodrigo Viana, sou desenvolvedor web, mobile. Atuo como desenvoledor freelancer em pequenas, médias e grandes aplicações. No momento estou me especializando a fundo em Python. Minha próxima especialização será em Swift, onde já "arranho" alguma coisa.. No momento meu Blog terá artigos voltados a Python, em seguida, obviamente estará voltado a Swift. Isso não quer dizer que eu não possa postar qualquer coisa referente ao Swift, se isso acontecer é pelo simples motivo de eu ter estudado o assunto postado.