I set (insiemi) sono un potente tipo di dati che possiamo usare quando abbiamo bisogno di gestire gruppi di elementi non ordinati e senza duplicati.
Per creare un set possiamo utilizzare i caratteri speciali “{” e “}” (le parentesi graffe):
Per inizializzare un set possiamo usare una sequenza qualsiasi, l’insieme conterrà solo un esemplare per tipo.
Se usiamo la parola chiave set per creare un insieme, passando una stringa otteniamo l’insieme dei caratteri che la compongono:
Possiamo notare come la stringa “hello”, pure contenendo cinque caratteri abbia generato un insieme di soli quattro caratteri
(la lettera ” l ” appare una sola volta nell’insieme).
Come abbiamo detto, gli insiemi non possono contenere elementi duplicati.
Operazioni con gli insiemi
Le operazioni che possiamo effettuare sugli insiemi sono tutte quelle tipiche dell’insiemistica tradizionale.
- L’ insieme unione, con il carattere “|” (la barra verticale):
- Insieme differenza, con il carattere “-” (il meno):
- L’ insieme intersezione, con il carattere “&” (la “e” commerciale):
- Insieme differenza simmetrica (noto come xor , costituito da tutti gli elementi che sono presenti solo in uno dei due insiemi, ma non in entrambi), con il carattere “^” (l’accento circonflesso):
La set comprehension
Come le liste, anche gli insiemi hanno la loro comprehension.
La set comprehension è molto simile alla list comprehension (guarda l’articolo sulle liste), con la differenza che il risultato finale è un insieme senza valori duplicati.
Chiariamo con un esempio il meccanismo di definizione di un set:
I possibili resti della divisione per 4 sono solo 0, 1, 2 e 3.
Il set “resti” non contiene nessun 2, perché la lista “numeri” non contiene nessun numero che, diviso per 4, abbia resto 2.
Nei prossimi articoli…
Adesso possiamo procedere con i dizionari e gli ultimi tipi di dati per passare finalmente poi alla sintassi, alle eccezioni, funzioni, classi e gli input e output di questo fantastico linguaggio!
Continua a seguire la sezione dedicata e non perdere i prossimi articoli: iscriviti alla nostra newsletter!
3 risposte