¿Conocéis las Comprehension list de Python? Se trata de una forma rápida, limpia y sencilla de crear listas de valores.
La idea es sustituir código como este:
cuadrados = [] for x in range(10): cuadrados.append(x**2)
Por código como este:
cuadrados = [x**2 for x in range(10)]
En ambos casos el resultado es el mismo. Una variable cuadrados que contiene una lista como esta [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
Podemos hacer listas con varios bucles anidados:
[(let, num) for let in ['a', 'b'] for num in [1,2,3]] [('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)]
También podemos incluir condicionales. Por ejemplo, para crear una lista sólo con múltiplos de 3:
[x for x in range(20) if x%3 == 0] [0, 3, 6, 9, 12, 15, 18]
Eso es todo. Sencillo, ¿no?