Olá pessoal, tudo bem? Este artigo apresenta uma das características mais poderosas e elegantes do Python, que é a compreensão de listas, também conhecida como “list comprehensions“. Este é um assunto muito importante no estudo da linguagem Python, sendo possível que a Cesgranrio cobre isso na prova do CNU.
Sendo assim, exploraremos em detalhes o que são as list comprehensions, como funcionam e como podem ser aplicadas em diferentes cenários.
Estruturamos este artigo da seguinte maneira:
List comprehensions são uma forma compacta e poderosa de criar listas em Python. Elas permitem a criação de listas de forma mais concisa, substituindo o uso de loops for tradicionais. A sintaxe básica de uma list comprehension é bastante simples:
new_list = [expression for item in iterable]
Essa estrutura consiste em três partes principais:
Vamos analisar um exemplo simples para entender melhor como as list comprehensions funcionam. Suponha que queremos criar uma lista que contenha os quadrados dos números de 0 a 9. Podemos fazer isso facilmente usando uma list comprehension:
Neste exemplo, x**2 é a expressão que define o que cada elemento da lista será (o quadrado de x), for x in range(10) é o loop for que itera sobre cada número de 0 a 9, e range(10) é o iterável sobre o qual o loop é executado. O resultado será a lista [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
As list comprehensions oferecem vários benefícios em comparação com o uso de loops for tradicionais:
Além dos casos simples que vimos até agora, as list comprehensions podem ser utilizadas de forma mais avançada para lidar com situações mais complexas. Por exemplo, é possível adicionar condições para filtrar os itens do iterável antes de adicioná-los à lista resultante.
Considere o seguinte exemplo, onde queremos criar uma lista apenas com os números pares de 0 a 9:
Neste caso, a condição if x % 2 == 0 é adicionada ao final da list comprehension para filtrar apenas os números pares. O resultado será a lista [0, 2, 4, 6, 8].
Além disso, podemos usar a estrutura if else dentro de uma list comprehension para modificar a expressão com base em uma condição. Por exemplo, podemos criar uma lista onde os números pares são elevados ao quadrado e os ímpares são mantidos como estão:
Neste caso, se x for par, ele será elevado ao quadrado, caso contrário, será mantido o mesmo. O resultado será a lista [0, 1, 4, 3, 16, 5, 36, 7, 64, 9].
Suponha que temos uma lista de palavras e queremos criar uma nova lista onde todas as palavras estejam em maiúsculas:
O resultado será a lista [‘HELLO’, ‘WORLD’, ‘PYTHON’, ‘LIST’, ‘COMPREHENSIONS’].
Vamos criar uma lista dos números primos menores que 50:
Neste exemplo, usamos uma list comprehension com uma condição para verificar se um número é primo ou não.
O resultado será a lista [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47].
Às vezes, queremos criar uma lista de listas, onde cada sublista contenha números sequenciais. Por exemplo, uma lista de listas onde cada sublista contém os primeiros n números:
Neste exemplo, criamos uma lista de listas onde cada sublista contém os números de 1 a 3.
O resultado será [ [1, 2, 3], [1, 2, 3], [1, 2, 3] ].
Suponha que temos uma lista de strings e queremos criar uma nova lista onde cada string tenha o seu comprimento:
O resultado será a lista [6, 2, 7], que representa os comprimentos das strings na lista original.
Podemos criar uma nova lista onde substituímos certos valores por outros:
Neste exemplo, substituímos os números pares por ‘even’ e os números ímpares por ‘odd’.
O resultado será [‘odd’, ‘even’, ‘odd’, ‘even’, ‘odd’].
Suponha que temos uma lista de idades e queremos categorizá-las em duas listas separadas: uma contendo as idades maiores ou iguais a 18 anos e outra contendo as idades menores de 18 anos:
Neste exemplo, usamos uma list comprehension com uma estrutura if else para categorizar cada idade como “maior” se for maior ou igual a 18 anos, ou “menor” se for menor que 18 anos.
O resultado será a lista [‘maior’, ‘menor’, ‘maior’, ‘menor’, ‘maior’, ‘menor’, ‘maior’, ‘maior’], que representa as categorias de idade para cada idade na lista original.
As list comprehensions são uma ferramenta poderosa em Python para criar listas de forma concisa e eficiente. Elas são amplamente utilizadas em código Python por sua capacidade de simplificar tarefas comuns que envolvem a geração e manipulação de listas. Ao dominar as list comprehensions, você poderá escrever código mais limpo, legível e eficiente em Python.
Com este artigo sobre list comprehensions, espero ter fornecido uma compreensão clara de como elas funcionam e como podem ser aplicadas em diferentes cenários.
Quer saber quais serão os próximos concursos?
Confira nossos artigos!
Atenção, corujas: o governo do Rio Grande do Sul autorizou a realização de um novo…
Comissão do novo edital já está formada! O governador Eduardo Leite autorizou a realização de…
Foi oficialmente autorizada a realização do próximo concurso PC RS (Polícia Civil do Rio Grande…
Atenção, corujas: o governo do Rio Grande do Sul autorizou mais de 2.700 mil vagas…
Estamos em ano de eleições municipais, o que contribui ainda mais para a publicação de…
Está na praça o mais novo edital de concurso público da Prefeitura de Itaguaru, município…