Esercizi sui Set di Python
Ciao a tutti, futuri maghi di Python! Oggi entreremo nel magico mondo dei set di Python. Non preoccupatevi se non avete mai programmato prima – sarò la vostra guida amichevole in questo avventuroso viaggio. Alla fine di questo tutorial, sarò in grado di creare set come un professionista!
Cos'è un Set?
Prima di iniziare gli esercizi, capiamo rapidamente cosa sia un set in Python. Immagina di avere una borsa di biglie, ma ogni biglia può apparire solo una volta nella borsa. Questo è essenzialmente cosa è un set in Python – una raccolta di elementi unici.
I set sono disordinati, il che significa che gli elementi non hanno una posizione specifica. Sono anche mutabili, quindi possiamo aggiungere o rimuovere elementi. Tuttavia, gli elementi stessi devono essere immutabili (come numeri o stringhe, non elenchi).
Ora, spogliiamoci la maniche e iniziamo a programmare!
Esercizio di Set di Python 1: Creazione e Manipolazione dei Set
Creazione di un Set
Cominciamo creando un semplice set:
frutti = {"mela", "banana", "ciliegia"}
print(frutti)
Quando esegui questo codice, vedrai:
{'ciliegia', 'banana', 'mela'}
Notate come l'ordine potrebbe essere diverso da quello che abbiamo inserito? Questo perché i set sono disordinati!
Aggiunta di Elementi a un Set
Ora, aggiungiamo alcuni frutti al nostro set:
frutti.add("frutto della dragona")
print(frutti)
frutti.update(["bacca di mirtillo", "fico"])
print(frutti)
Output:
{'ciliegia', 'banana', 'mela', 'frutto della dragona'}
{'fico', 'ciliegia', 'banana', 'bacca di mirtillo', 'mela', 'frutto della dragona'}
Visto come abbiamo usato add()
per un singolo elemento e update()
per elementi multipli? È come aggiungere una biglia alla tua borsa rispetto a versare una manciata!
Rimozione di Elementi da un Set
Rimuoviamo alcuni frutti:
frutti.remove("banana")
print(frutti)
frutti.discard("uva") # Questo non solleverà un errore anche se "uva" non è nel set
print(frutti)
Output:
{'fico', 'ciliegia', 'bacca di mirtillo', 'mela', 'frutto della dragona'}
{'fico', 'ciliegia', 'bacca di mirtillo', 'mela', 'frutto della dragona'}
remove()
solleverà un errore se l'elemento non esiste, mentre discard()
non lo farà. È come selezionare con cura una biglia specifica rispetto a cercare casualmente una da rimuovere.
Esercizio di Set di Python 2: Operazioni sui Set
Ora che abbiamo padroneggiato la base, giochiamo con più set!
Unione di Set
Immagina che tu e il tuo amico abbiate entrambi delle borse di biglie. L'unione sono tutte le biglie uniche che avete insieme.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
unione_set = set1.union(set2)
print(unione_set)
Output:
{1, 2, 3, 4, 5, 6, 7, 8}
Intersezione di Set
L'intersezione sono le biglie che avete entrambi in comune.
intersezione_set = set1.intersection(set2)
print(intersezione_set)
Output:
{4, 5}
Differenza di Set
La differenza sono le biglie che hai e che il tuo amico non ha.
differenza_set = set1.difference(set2)
print(differenza_set)
Output:
{1, 2, 3}
Esercizio di Set di Python 3: Operazioni Avanzate sui Set
Pronto a salire di livello? Affrontiamo alcune operazioni più avanzate!
Differenza Simmetrica
Questo ci dà tutte le biglie che sono in uno dei set, ma non in entrambi.
differenza_simmetrica = set1.symmetric_difference(set2)
print(differenza_simmetrica)
Output:
{1, 2, 3, 6, 7, 8}
Sottoinsieme e Superinsieme
Controlliamo se uno set è contenuto in un altro:
set3 = {1, 2, 3}
print(set3.issubset(set1)) # Set3 è un sottoinsieme di set1?
print(set1.issuperset(set3)) # Set1 è un superinsieme di set3?
Output:
True
True
È come controllare se tutte le tue biglie sono anche nella più grande raccolta del tuo amico!
Set Congelati
A volte, abbiamo bisogno di un set che non può essere cambiato. Entra in scena il set congelato:
frutti_congelati = frozenset(["mela", "banana", "ciliegia"])
print(frutti_congelati)
# Questo solleverà un errore:
# frutti_congelati.add("frutto della dragona")
Output:
frozenset({'ciliegia', 'banana', 'mela'})
Pensa a un set congelato come una borsa di biglie sigillata nel ghiaccio – puoi guardare, ma non puoi toccare!
Riepilogo dei Metodi dei Set
Ecco una tabella comoda dei metodi dei set che abbiamo imparato:
Metodo | Descrizione |
---|---|
add() | Aggiunge un elemento al set |
update() | Aggiorna il set con elementi da un altro set o iterable |
remove() | Rimuove un elemento specificato (solleva errore se non trovato) |
discard() | Rimuove un elemento specificato (nessun errore se non trovato) |
union() | Restituisce un set contenente l'unione di set |
intersection() | Restituisce un set contenente l'intersezione di set |
difference() | Restituisce un set contenente la differenza tra set |
symmetric_difference() | Restituisce un set con elementi in uno dei set, ma non in entrambi |
issubset() | Controlla se un set è un sottoinsieme di un altro set |
issuperset() | Controlla se un set è un superinsieme di un altro set |
E qui avete tutto, ragazzi! Avete appena aumentato le vostre abilità con Python con i set. Ricorda, la pratica fa il maestro, quindi continua a giocare con questi concetti. Prima di sapere renderlo, manipolerai i set come un vero mago di Python!
Credits: Image by storyset