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!
Estão abertas as inscrições do concurso Juazeiro Saúde, no estado da Bahia. De acordo com…
Inscrições em breve e provas em outubro. Confira neste artigo as principais datas do concurso…
Após adiamento das provas, já estão disponíveis os gabaritos preliminares da única etapa do concurso…
Estão abertas as inscrições do concurso público da Prefeitura de Messias Targino, município do Rio…
A banca organizadora do próximo concurso PB Saúde (Fundação Paraibana de Gestão em Saúde) será…
A comissão do próximo concurso Polícia Penal RJ foi novamente alterada. A modificação foi registrada…