AnyCompiler

List Comprehensions

Uma list comprehension constrói uma lista nova descrevendo no que cada item deve se transformar, em uma única linha legível. A maioria dos desenvolvedores Python usa isso em vez de map()/filter() com uma lambda — é considerada mais idiomática e, depois que você se acostuma com a sintaxe, mais legível.

numbers = [1, 2, 3, 4, 5]
squared = [x * x for x in numbers]
print(squared)

evens = [x for x in numbers if x % 2 == 0]
print(evens)
Output
[1, 4, 9, 16, 25]
[2, 4]

[x * x for x in numbers] se lê quase como uma frase: "x vezes x, para cada x em numbers". Adicionar if x % 2 == 0 no final filtra quais itens são incluídos — esse é exatamente o mesmo resultado do exemplo de map()/filter() da lição anterior, na forma que a maior parte do código Python realmente usa.

A seguir: tratamento de exceções — lidar com erros de forma elegante em vez de deixar seu programa quebrar.

Exercício de Prática

Use uma list comprehension para construir uma lista com os cubos dos números de 1 a 4, e depois imprima-a.