Compreensão de lista em Python (com exemplos)
Publicados: 2021-08-22Python está entre as linguagens de programação mais populares do mundo. Em 2020, ficou em segundo lugar no ranking de popularidade de linguagens de programação do RedMonk . A razão por trás de sua ampla popularidade é seu código fácil de entender e simplicidade. Escrever código em python é bastante simples se você estiver familiarizado com a sintaxe. Um de seus destaques exclusivos é o recurso de compreensão de lista. Você pode realizar a compreensão do Python para listas escrevendo apenas uma linha de código!
Os pontos a seguir ilustram o que é compreensão de lista e como você pode usá-la em diferentes configurações. Também abordaremos as diferenças presentes entre compreensão de lista e loops for, o que pode ser bastante confuso. Você também aprenderá sobre outras funções relacionadas e como usá-las:
Índice
O que é o Python de compreensão de lista?
Python oferece várias maneiras de criar listas. Uma das maneiras mais eficazes entre eles é o recurso de compreensão de lista. Ele permite que você crie listas escrevendo uma única linha de código.
Você pode usar compreensões de lista para criar novas listas a partir de outros elementos iteráveis, como arrays, strings, tuplas, listas, etc. Ela é composta de colchetes com a expressão. O sistema executa a expressão para cada elemento com o loop for para iterar sobre cada elemento.
A sintaxe para compreensão de lista em Python é a seguinte:
your_new_list = [expressão para elemento em your_old_list if condição]
Aqui, your_new_list é a nova lista (ou o resultado). A expressão depende da variável que você usou para cada elemento em sua_antiga_lista. Finalmente, a “condição if” é o filtro.
Existem muitas razões pelas quais os desenvolvedores Python preferem a compreensão de listas em vez de loops. A principal razão é a eficiência. Você pode criar uma lista com muito menos esforço e código ao usar a compreensão de lista do que ao usar loops
Como leva menos linhas de código do que loops, a compreensão da lista também economiza muito tempo. Ele mantém o código simples e o torna mais amigável. Além disso, a compreensão da lista abrange uma declaração iterativa em uma fórmula. Se você deseja obter mais experiência em python, confira nossos programas de ciência de dados das principais universidades.
Listar exemplos de compreensão do Python
Estamos compartilhando vários exemplos de como você pode usar a compreensão de lista em Python. Seria melhor estudá-los e replicá-los em seu próprio programa depois de entender como eles funcionam. Isso ajudaria você a entender corretamente o quão eficaz é a compreensão da lista de ferramentas:
Exemplo 1:
Neste exemplo, criaremos uma lista simples usando a compreensão do Python:
Entrada :
a = [i para i no intervalo(5)]
imprimir um
Saída :
[0, 1, 2, 3, 4]
Exemplo 2:
No exemplo abaixo, criaremos uma lista com múltiplos de dois:
Entrada :
new_list = [a*2 for a in range(10)]
Saída
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
Exemplo 3
Você pode multiplicar cada item em uma lista usando a compreensão da lista:
Entrada
lista_antiga = [1, 2, 3]
new_list = [item*2 para o item na lista_antiga]
imprimir nova_lista
Saída
[2, 4, 6]
Exemplo 4
A compreensão da lista não se limita apenas a números inteiros, você também pode usá-la com strings. Neste exemplo, usaremos a compreensão de lista para criar uma lista da primeira letra de cada palavra em nossa lista original
Entrada :
minha_lista = [“atualizar”, “é”, “divertido”]
resultado = [palavra[0] para palavra em minha_lista]
imprimir resultado
Saída
['u', 'i', 'f']
Exemplo 5
Você também pode extrair números de uma string usando a compreensão da lista
Entrada :
old_list = “upGrad 123 é divertido”
new_list = [x para x na string se x.isdigit()]
imprimir nova_lista
Saída :
['1', '2', '3']
Exemplo 6:
Você também pode usar a compreensão de lista com funções, que são uma parte vital das implementações matemáticas do Python:
Entrada
# primeiro, vamos criar uma função chamada triple
def triplo(x
retornar x*3
# agora você tem uma função de trabalho que imprime um resultado se você inserir um valor válido
>>> imprimir triplo(2)
Saída :
6
Agora você pode usar a compreensão da lista com esta função para criar mais listas
Entrada :
>>> [triplo(x) para x no intervalo(5)]
imprimir triplo
Saída :
[0, 3, 6, 9, 12]
Diferença entre compreensão de lista e loop for
Uma maneira comum de iterar em uma lista é usando o loop for. No entanto, a compreensão de lista é um método mais eficiente para iterar em uma lista, pois permite executar a tarefa com menos linhas de código.
Aqui está um exemplo para ilustrar a diferença. Começaremos com uma lista vazia e a modificaremos para torná-la uma lista de números pares:
Entrada
#criando a lista vazia
lista_antiga = []
# usando o loop for para criar a nova lista
para x no intervalo (5):
lista_antiga.append(x*2)
imprimir lista_antiga
Saída :
[0, 2, 4, 6, 8]
Como você pode ver, o loop for requer que você use a função append para criar a nova lista. Você também teve que criar uma lista vazia primeiro para poder usar o loop para modificar o mesmo. No entanto, com a compreensão da lista, você não precisaria usar outra função, pois pode concluir a tarefa com uma única linha de código:
Entrada :
# criando o conjunto usando compreensão de lista
lista_antiga = [x*2 para x no intervalo(5)]
imprimir lista_antiga
Saída :
[0, 2, 4, 6, 8]Como a compreensão da lista ocupa menos espaço e código, também requer menos poder de computação do que usar um loop for. Isso é benéfico ao trabalhar em grandes programas, pois a eficiência se torna uma questão fundamental quando o código é substancialmente longo.
No entanto, quando você estiver usando compreensão de lista, evite usar aqueles que são excessivamente longos em uma linha. Caso contrário, o código não permaneceria fácil de usar e pode ser bastante desafiador compartilhar seu trabalho com outros desenvolvedores. Tenha em mente que você reescreve cada compreensão de lista em um loop for, mas não pode reescrever cada loop for em uma compreensão de lista.
A compreensão de lista é uma das muitas funcionalidades de compreensão do Python presentes nesta linguagem de programação. Outra funcionalidade de compreensão muito popular é a compreensão de dicionário:
O que é compreensão de dicionário em Python?
A compreensão do dicionário, como o nome sugere, permite criar dicionários em Python. A sintaxe de uma compreensão de dicionário é:
{k:v para (k,v) em iterável}
Aqui, k significa chave e v significa valor.
Vamos ver no trabalho. No exemplo a seguir, criaremos duas listas e usaremos a compreensão de dicionário para gerar um dicionário a partir delas:
Entrada :
# usando Python para mostrar a compreensão do dicionário
# criando duas listas para representar chaves e valores
teclas = [1, 2, 3, 4, 5]
valores = ['a', 'b', 'c' 'd', 'e']
# implementando a compreensão do dicionário
new_dict = { k:v for (k,v) in zip(chaves, valores)}
imprimir new_dict
Saída :
{1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd'. 5 : 'e'}
A compreensão do dicionário facilita bastante a criação de dicionários em Python. No entanto, você também pode usar a compreensão de lista para gerar um dicionário. No exemplo a seguir, usaremos a compreensão de lista e criaremos um dicionário:
Entrada :
new_dict = {x: x*2 para x em [5, 4, 3, 2, 1]}
imprimir new_dict
Saída :
{5: 10, 4: 8, 3: 6, 2: 4, 1: 2}
Torne-se um especialista em Python
A compreensão de lista é uma das muitas funcionalidades presentes no Python. É uma linguagem de programação altamente versátil e útil. Além disso, a sintaxe do Python também é muito fácil de entender e requer um pouco de esforço para se acostumar. Além desses benefícios, o Python também oferece inúmeras bibliotecas para seus usuários.
Possui uma próspera comunidade de desenvolvedores e programadores que adicionam regularmente novas bibliotecas à sua coleção. As inúmeras bibliotecas e funções disponíveis para Python o tornam útil em diferentes setores, como desenvolvimento de software, ciência de dados, aprendizado de máquina e outros.
Se você estiver interessado em aprender Python, você deve aprender no contexto do campo que deseja inserir. Além disso, os recrutadores sempre procuram profissionais certificados nessa área, pois isso lhes garante a experiência do candidato.
Devido a esses motivos, seria melhor ingressar em um curso de python se você estiver interessado em seguir uma carreira com essa habilidade. O Instituto Internacional de Tecnologia da Informação Bangalore oferece um Programa Executivo PG em Desenvolvimento de Software com upGrad, perfeito para quem deseja se tornar especialista nesta linguagem de programação e seguir uma carreira em tecnologia. O curso fornecerá uma maneira bem estruturada de estudar Python e outras tecnologias de tendências para ajudá-lo a entrar no setor como um profissional pronto para o trabalho.
O upGrad tem mais de 40.000 alunos pagos em mais de 85 países. Juntar-se a este programa também permitirá que você se conecte internacionalmente através da vasta base de alunos do upGrad. O curso Executive PG Program in Software Development é um programa online que tem duração de 13 meses. Requer apenas um compromisso de tempo de 15 horas por semana.
O programa oferece seis especializações para escolher
- Cíber segurança
- DevOps
- Computação em nuvem
- Big data
- Desenvolvimento de blockchain
- Desenvolvimento full-stack
Juntamente com essas vantagens, o upGrad também oferece assistência profissional de 360 graus com este programa para que você possa iniciar sua carreira facilmente. Você pode saber mais sobre o curso aqui: Programa PG Executivo em Desenvolvimento de Software .
Conclusão
Você pode experimentar a compreensão de listas com listas simples primeiro e depois passar para aplicativos mais complexos dessa funcionalidade. A compreensão de lista é um exemplo de como a programação Python é flexível e robusta.
O que você acha da compreensão da lista? Como você usaria isso em seu programa?
Compreensão de listas Python permite que você crie listas de forma eficiente e usando apenas uma única linha de código. É uma das funcionalidades mais robustas em Python. A compreensão do dicionário permite que você crie dicionários para duas listas. Ele usa chaves e valores para criar o dicionário necessário. Sim, na maioria dos casos, a compreensão de listas é uma maneira muito melhor de criar listas. Requer menos código, tempo e poder de computação do que loops para gerar listas. O que a compreensão de lista em Python faz?
O que é compreensão do dicionário?
A compreensão da lista é melhor do que o loop for?