AnyCompiler

Comprensión de Listas

Una comprensión de listas construye una lista nueva describiendo en qué debería convertirse cada elemento, en una sola línea legible. La mayoría de los desarrolladores de Python la usan en vez de map()/filter() con una lambda — se considera más idiomática y, una vez que te acostumbras a la sintaxis, más legible.

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 lee casi como una frase: "x por x, por cada x en numbers". Añadir if x % 2 == 0 al final filtra qué elementos se incluyen — este es exactamente el mismo resultado que el ejemplo de map()/filter() de la lección anterior, en la forma que la mayoría del código Python realmente usa.

Siguiente: manejo de excepciones — gestionar errores con elegancia en vez de dejar que tu programa se caiga.

Ejercicio de práctica

Usa una comprensión de listas para construir una lista con los cubos de los números del 1 al 4, y luego imprímela.