- O List Comprehensions fornece uma maneira concisa de criar listas;
- O List Comprehensions sempre retorna uma lista de resultados.
Se você costumava fazer assim:
nova_lista = []
for i in lista_antiga:
if filter(i):
nova_lista.append(expressions(i))
Você pode obter a mesma coisa usando o list comprehensions:
new_list = [expression(i) for i in old_list if filter(i)]
# Observe que o método de acréscimo desapareceu
O list comprehension começa com colchetes ‘[‘ e fecha com colchetes ‘]’, para ficar melhor o entendimento, vamos para um exemplo mais pratico, visualmente falando:
[ expressao for item in list if condicao ]
Isso é equivalente a:
for item in list:
if condicao:
expressao
Vamos analisar isso e ver o que ele faz:
nova_lista = [expression(i) for i in lista_antiga if filter(i)]
nova_lista: Lista nova que será gerada; for i in lista_antiga: A palavra for seguida pelo nome da variável a ser usada, seguida pela palavra lista_antiga; expression(i): A expressão é baseada na variável usada para cada elemento na lista_antiga; if filter(i): Aplique um filtro com uma instrução if.
- List Comprehensions é um assunto complexo e mais complexo do que o apresentado acima, mas deixaremos conteudo para que veja mais sobre o tema:
Documentação oficial - list-comprehensions Medium - Indo mais além no assunto