
La set comprehension in Python
In questa lezione ti spiego come funziona la set comprehension nel linguaggio Python.
Cos'è la set comprehension? La set comprehension è una sintassi per creare un insieme composto da molti elementi che soddisfano una regola di selezione.
Ti faccio un esempio pratico.
Immagina di dover creare un insieme con i primi 1000 numeri pari. Scriverlo a mano è possibile... ma faticoso e c'è sempre il rischio di sbagliarsi.
Utilizzando la set comprehension puoi realizzarlo con un solo comando.
>>> P={i for i in range(1000) if i%2==0}
Il risultato è un insieme composto dai numeri pari compresi tra 0 a 1000
- Il ciclo for itera i numeri da 0 a 1000 selezionando solo quelli che restituiscono il resto uguale a zero quando sono divisi per due (if i%2==0)
- I numeri che soddisfano la condizione sono aggiunti alla variabile P.
La variabile P è di tipo set (insieme) perché racchiude gli elementi tra due parentesi graffe.
Perché conviene usare la set comprehension?
La set comprehension è molto più sintetica e veloce rispetto a un'iterazione.
Ad esempio, avresti potuto ottenere creare un insieme con i numeri pari fino a 1000 anche utilizzando un ciclo
- P=set()
- for i in range(1000):
- if (i%2==0):
- P.add(i)
In questo caso, però, hai dovuto utilizzare quattro righe di codice.
Inoltre, per creare l'insieme il ciclo impiega il doppio del tempo rispetto set comprehension.