Python: gli insiemi e la set comprehension

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):

 

Insiemi - Python

 

 


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:

 

Parola chiave set - Python

 

 


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 unione - Python

 

 

  • Insieme differenza, con il carattere “-”  (il meno):

 

Insieme differenza - Python

 

 

  • L’ insieme intersezione, con il carattere “&” (la “e” commerciale):

 

Insieme intersezione - Python

 

 

  • 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):

 

Insieme differenza simmetrica - Python

 

 

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:

 

Set comprehension insiemi - Python

 

 


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!

 

python

 

3 risposte

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Per info e contatti