Cos'è la list comprehension in Python
La list comprehension (comprensione di lista) è un costrutto usato in Python per creare una lista a partire da un'espressione generatrice.
list = [espressione]
L'espressione generatrice è posta tra parentesi quadre.
La list comprehension permette di creare automaticamente una lista con più elementi senza usare cicli e iterazioni.
Esempi
Esempio 1
Creare una lista con i quadrati dei numeri da 1 a 10.
>>> lista = [x**2 for x in range(1,11)]
La list comprehension crea una lista con i numeri da 1 a 10 elevati al quadrato.
>>> lista
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Esempio 2 ( list comprehension con IF )
Creare una lista con i quadrati dei numeri pari.
E' sufficiente aggiungere una if all'esempio precedente
>>> lista = [x**2 for x in range(1,11) if x%2==0]
La condizione aggiuntiva if x%2==0 seleziona i numeri divisibili per due con resto uguale a zero, ossia i numeri pari.
Il contenuto della lista è
>>> lista
[4, 16, 36, 64, 100]
La list comprehension seleziona ed eleva al quadrato soltanto i numeri pari tra 1 e 10.