Você pode pensar que Compreensão de lista é um conceito avançado. No entanto, ele pode simplificar seu código com apenas uma linha em situações complicadas. É hora de entender como isso funciona. Vou explicar isso para um nível iniciante com exemplos.
Você frequentemente vê a notação l2 = [x 1 for x in l]. Diz-se que é igual a isto:
l2 = [] for x in l: x = x 1 l2.append(x)
Para ambos os casos, se começarmos com l = [10, 100, 1000], l2 será:
[11, 101, 1001]
A primeira sintaxe é o que chamamos de compreensão de lista.
Você pode preferir o loop for usual, mas ao final deste artigo, prometo que você estará confiante ao usar a compreensão de lista!
Além disso, vamos verificar a definição oficial detalhada na documentação https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
As compreensões de lista fornecem uma maneira concisa de criar listas. As aplicações comuns são fazer novas listas onde cada elemento é o resultado de algumas operações aplicadas a cada membro de outra sequência ou iterável, ou criar uma subsequência desses elementos que satisfaçam uma determinada condição.
Vamos detalhar mais. A compreensão de lista é apenas uma maneira diferente de escrever código, mais curta e mais fácil de criar uma nova lista. O resultado da compreensão da lista é uma lista, e é por isso que a atribuímos a uma lista.
Vejamos a segunda parte da definição, que discute exemplos comuns. Isso deve ser feito usando exemplos específicos.
1.
fast_foods = ["Burger", "Pizza", "Tacos", "Fried Chicken", "Hot Dog"] uppercase_fast_foods = [food.upper() for food in fast_foods]
Depois disso, uppercase_fast_foods será:
['BURGER', 'PIZZA', 'TACOS', 'FRIED CHICKEN', 'HOT DOG']
Usamos a função upper() para alterar cada item alimentar de nossa lista para letras maiúsculas. Como resultado, todos os itens agora estão em letras maiúsculas. É assim que 'criamos novas listas onde cada elemento é o resultado de algumas operações aplicadas a cada membro de outra sequência ou iterável'.
2.
fast_foods = ["Burger", "Pizza", "Tacos", "Fried Chicken", "Hot Dog"] foods_with_space = [food for food in fast_foods if " " in food]Depois disso,foods_with_space será:
fast_foods = ["Burger", "Pizza", "Tacos", "Fried Chicken", "Hot Dog"] foods_with_space = [food for food in fast_foods if " " in food]A linha de código acima recupera os itens da lista que contêm um caractere de espaço em branco. É assim que 'criamos novas listas onde cada elemento é o resultado de algumas operações aplicadas a cada membro de outra sequência ou iterável'.
Exemplos de compreensão de lista
1. Modifique cada elemento da lista
foods = ["Hambúrguer", "Batatas fritas", "Frango frito", "Cachorro-quente", "Pizza"]
foods_with_version = [food '- 2024' para alimentos em alimentos]
imprimir(comida_com_versão)
foods = ["Burger", "Fries", "Fried Chicken", "Hot Dog", "Pizza"] foods_with_version = [food ' - 2024' for food in foods] print(foods_with_version)
['Hambúrguer - 2024', 'Batatas fritas - 2024', 'Frango frito - 2024', 'Cachorro-quente - 2024', 'Pizza - 2024']
['Burger - 2024', 'Fries - 2024', 'Fried Chicken - 2024', 'Hot Dog - 2024', 'Pizza - 2024']
2. Faça uma sublista de uma lista com base em uma condição
foods = ["Hambúrguer", "Frango Frito", "Cachorro-Quente", "Batatas Fritas", "Pizza"]
long_foods = [comida por comida em alimentos se len(comida) > 7]
imprimir(long_foods)
foods = ["Burger", "Fries", "Fried Chicken", "Hot Dog", "Pizza"] foods_with_version = [food ' - 2024' for food in foods] print(foods_with_version)
['Frango Frito']`
['Fried Chicken']`
3. Use a função range com compreensão de lista para criar uma lista
x = [i para i no intervalo(10, 20, 2)]
imprimir (x)
foods = ["Burger", "Fries", "Fried Chicken", "Hot Dog", "Pizza"] foods_with_version = [food ' - 2024' for food in foods] print(foods_with_version)
[10, 12, 14, 16, 18]
[10, 12, 14, 16, 18]
4. Aplicar compreensão de lista a uma string
input_string = "olá mundo"
marked_vowels = ['*' if char in 'aeiouAEIOU' else char for char in input_string]
imprimir(vogais_marcadas)
foods = ["Burger", "Fries", "Fried Chicken", "Hot Dog", "Pizza"] foods_with_version = [food ' - 2024' for food in foods] print(foods_with_version)
['h', '*', 'l', 'l', '*', ' ', 'w', 'o', 'r', 'l', 'd']
['h', '*', 'l', 'l', '*', ' ', 'w', 'o', 'r', 'l', 'd']
Conclusão
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3