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!

Python - Set Exercises

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