
La list comprehension in Python
La list comprehension è una caratteristica molto potente di Python che ti permette di creare e manipolare liste tramite una regola in modo più sintetico ed elegante. Inoltre, ti permettono di creare un codice più leggibile e conciso.
Ecco un esempio pratico.
Crea una lista di numeri da 1 a 5 nella variabile "numbers"
numbers = [1, 2, 3, 4, 5]
Ora definisci una seconda lista chiamata "squares" tramite la list comprehension, contenente i quadrati degli elementi della lista "numbers".
squares = [n**2 for n in numbers]
La list comprehension si legge come: "per ogni elemento n in numbers, calcola n al quadrato".
Stampa gli elementi della lista "squares"
print(squares)
La seconda lista è composta dai quadrati della prima lista.
[1, 4, 9, 16, 25]
In questo esempio, `squares` è una nuova lista che consiste nei quadrati di ogni elemento in `numbers`
Puoi definire una nuova lista tramite la list comprehension possono anche imponendo particolari condizioni.
Ad esempio, puoi creare una lista dei quadrati solo per i numeri pari in `numbers`:
even_squares = [n**2 for n in numbers if n % 2 == 0]
In questo esempio, la list comprehension si legge come: "per ogni elemento n in numbers, calcola n al quadrato, ma solo se n è pari".
La list comprehension itera gli elementi presenti nella lista "numbers", prendendo in considerazione solo quelli che rispettano la condizione n % 2 == 0 ossia i numeri pari, quelli che non hanno resto dopo la divisione per due.
Ora stampa il contenuto della lista "even_squares"
print(even_squares)
In questo caso la lista è composta solo dai quadrati dei numeri 2 e 4
[4, 16]
Questi due esempi sono molto semplici ma ti permettono di capire come funziona la list comprehension.