Esta postagem foi tornada pública como parte do Data Science Blogathon
Introdução
Neste post, vamos estudar as listas pela compreensão do Python e como usá-las. Os tópicos que discutiremos nesta postagem são os seguintes:
- Qual é a diferença entre List Comprehension e For loop em Python?
- Sintaxe de compreensões de lista em Python
- Diferença entre funções Lambda e compreensões de lista
- Condicionais dentro da compreensão da lista
- Loops aninhados na lista de compreensões em Python
- Pontos principais sobre a compreensão de listas
- Mais exemplos de compreensão de lista
Fonte da imagem: Imagens do google
Qual é a diferença entre compreensão de lista e loop for em Python?
Suponha que desejamos separar as letras da palavra “análise” e adicione as letras como itens de uma lista. A principal coisa que vem à mente é usar o loop for.
Exemplo 1: usando o loop For para iterar por meio de uma string
cartas_separadas = [] para carta em 'análises': separados_letters.append(carta) imprimir(cartas_separadas)
Produção:
[ 'uma', 'n', 'uma', 'eu', 'e', 't', 'eu', 'c', 's' ]
Explicação do código:
Neste exemplo, vamos dividir a string com base nos caracteres e armazenar todos esses caracteres em uma nova lista.
Apesar disto, Python tem uma maneira melhor de resolver este problema usando Compreensão de lista. A compreensão de listas é uma maneira sublime de estabelecer e fazer listas com base em listas existentes..
Vamos ver como o programa acima pode ser escrito usando listas de compreensão.
Exemplo 2: usando compreensão de lista para iterar por meio de uma string
cartas_separadas = [ carta por carta em 'análises' ] imprimir( cartas_separadas)
Produção:
[ 'uma', 'n', 'uma', 'eu', 'e', 't', 'eu', 'c', 's' ]
Explicação do código:
No exemplo acima, uma nova lista é atribuída às variáveis letter_separated, e a lista contém as coisas da string iterável ‘análise’. Para terminar, para receber a saída, nós chamamos o Imprimir() função python.
Sintaxe de compreensão de lista
[expressão para o item na lista]
Agora, podemos identificar onde as listas são usadas, entendendo.
Se ele percebeu, “análise” poderia ser uma corda, não uma lista. Muitas vezes são as listas fáceis de entender. Você pode identificar quando recebe uma string ou tupla e trabalhar nisso como uma lista.
Você pode testar isso usando loops. Apesar disto, nem todos os loops podem ser reescritos como uma lista de compreensão. Mas, ao mesmo tempo, mediro "medir" É um conceito fundamental em várias disciplinas, que se refere ao processo de quantificação de características ou magnitudes de objetos, Fenômenos ou situações. Na matemática, Usado para determinar comprimentos, Áreas e volumes, enquanto nas ciências sociais pode se referir à avaliação de variáveis qualitativas e quantitativas. A precisão da medição é crucial para obter resultados confiáveis e válidos em qualquer pesquisa ou aplicação prática.... que aprenda y se sienta cómodo con las listas por comprensión, você vai acabar substituindo mais e mais loops com esta sintaxe extravagante.
Lista de entendimentos vs funções Lambda
Para trabalhar ou realizar operações com listas, listas de compreensão não são a única maneira, mas várias ferramentas integradas e funções lambda podem criar e modificar listas em menos linhas de código.
Exemplo 3: usando funções Lambda dentro de List
letras = lista(mapa(lambda e: e, 'analítica')) imprimir(cartas)
Produção:
[ 'uma', 'n', 'uma', 'eu', 'e', 't', 'eu', 'c', 's' ]
Explicação do código:
Neste código, vamos separar os caracteres da string usando funções lambda.
Apesar disto, em geral, listas de compreensão são mais legíveis por humanos do que funções lambda. É mais fácil entender o que o programador estava tentando alcançar ao usar listas de compreensão.
Condicionais em listas de compreensão
Listas abrangentes podem usar declarações condicionais para alterar listas existentes (ou outras tuplas). vamos criar uma lista que usa operadores matemáticos, inteiros e intervalo ().
Exemplo 4: Use se com compreensão de lista
even_list = [ i para i no alcance(10) se eu % 2 == 0] imprimir(even_list)
Produção:
[0, 2, 4, 6, 8]
Explicação do código:
A lista, even_list, será completado com coisas na faixa de 0 uma 9 se o valor do elemento for divisível por 2.
Exemplo 5: aninhado sim com compreensão de lista
filter_list = [ x para x no intervalo(50) se x % 2 == 0 se x % 5 == 0] imprimir(filter_list)
Produção:
[0, 10, 20, 30, 40]
Explicação do código:
Aqui, verificações de compreensão de lista:
X é divisível por 2 ou não?
X é divisível por 5 ou não?
Se x satisfaz ambas as condições, x é adicionado a filter_list.
Exemplo 6: E se … mais com compreensão de lista
lista = ["até" if y% 2 == 0 else "ímpar" para y no alcance(5)] imprimir(Lista)
Produção:
['até', 'ímpar', 'até', 'ímpar', 'até']
Explicação do código:
Aqui, compreender a lista irá verificar os cinco números do 0 al 4. Se y é divisível por 2, par é adicionado à lista de obj. Sim, não é assim, ímpar é adicionado.
Loops aninhados na compreensão da lista
Suponha que gostaríamos de calcular a transposição de uma matriz que precisa de um loop for aninhado. Vamos ver como isso é feito usando o loop normal for primeiro.
Exemplo 7: encontrar a transposição da matriz usando loops aninhados
transposed_matrix = [] matriz = [[1, 2, 3, 4], [4, 5, 6, 8]] para eu no alcance(len(matriz[0])): transposed_row = [] para linha na matriz: transposed_row.append(fileira[eu]) transposed_matrix.append(transposed_row) imprimir(transposed_matrix)
Produção:
[[1, 4], [2, 5], [3, 6], [4, 8]]
Explicação do código:
O código acima usa dois loops for para encontrar a transposição da matriz.
Ao mesmo tempo, podemos fazer iterações aninhadas em uma lista de compreensão. Nesta secção, vamos encontrar a transposição de uma matriz usando um loop aninhado dentro de uma lista de compreensão.
Exemplo 8: Encontrando a transposição de uma matriz por meio da compreensão de lista
matriz = [[1, 2], [3,4], [5,6], [7,8]] transpose_matrix = [[fileira[eu] para linha na matriz] para eu no alcance(2)] imprimir (transpose_matrix)
Produção:
[[1, 3, 5, 7], [2, 4, 6, 8]]
Explicação do código:
No programa acima, tenemos una matriz variávelEm estatística e matemática, uma "variável" é um símbolo que representa um valor que pode mudar ou variar. Existem diferentes tipos de variáveis, e qualitativo, que descrevem características não numéricas, e quantitativo, representando quantidades numéricas. Variáveis são fundamentais em experimentos e estudos, uma vez que permitem a análise de relações e padrões entre diferentes elementos, facilitando a compreensão de fenômenos complexos.... o que tem 4 linhas e algumas colunas. Precisamos encontrar a transposição da matriz. Para isso, nós usamos compreensão de lista.
Pontos-chave na compreensão de listas
Os pontos-chave para prestar atenção ao trabalhar com compreensão de lista são os seguintes:
- A compreensão da lista é um sublime camino para estabelecer e construir listas com a ajuda de listas existentes.
- Comparado a loops e funções normais, compreensão de lista Geralmente é mais compacto e rápido para criar listas.
- Apesar disto, devemos sempre Evite escrever listas muito longas e abrangentes em uma linha. para confirmar esse código é fácil de usar.
- Lembrar, cada lista de compreensão isto é reescrito em loop, mas todos os loops for não podem ser reescritos Dentro de mas o menos compreensão de lista.
Mais exemplos de compreensão de lista
Vejamos mais alguns exemplos relacionados à compreensão de lista para que você tenha uma melhor compreensão das compreensões de lista em Python.
Exemplo 9: Encontre os itens em uma lista em que os itens terminam com a letra 'b’ e o comprimento desse elemento é maior que 2
nomes = ['CH','Dh','Eh','cb','Tb','Td','Chb','Tdb'] final_names = [nome para nome em nomes se nome.inferior().termina com('b') e len(nome) > 2] final_names
Produção:
['Chb', 'Tdb']
Explicação do código:
No código acima, usamos a compreensão de lista com algumas condições associadas. As funções envolvidas nas condições são as seguintes:
- Nome. lower.endswith (‘B’): Esta função filtra todas as strings na lista que terminam com as letras 'b’ o ‘B’.
- len (Nome): Esta função encontra o comprimento de todos os itens em uma lista especificada.
Exemplo 10: inverta cada string em uma tupla
# Reverter cada elemento em uma tupla especificada Lista = [fragmento[::-1] para corda em ('Olá', 'Analytics', 'Vidhya')] # Mostra a lista imprimir(Lista)
Produção:
[ 'olleH', 'scitylanA', 'ayhdiV' ]
Explicação do código:
No código acima, usamos o conceito de corte em uma corrente, por isso, ao usar str[::-1] Função, podemos inverter os itens de uma string, e aplicamos esta função a cada elemento da tupla usando compreensão de lista.
Isso encerra nossa discussão!!
Notas finais
Espero que tenha gostado do post.
Se você quiser se conectar comigo, Não duvide em manter contato comigo. por O email.
Suas sugestões e dúvidas são bem-vindas aqui na seção de comentários. Obrigado por ler meu post!!
A mídia mostrada nesta postagem não é propriedade da DataPeaker e é usada a critério do autor.