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)
[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.