2.1 Set e le sue proprietà
I set sono un tipo speciale di collezione di dati nella programmazione, che aiuta a memorizzare elementi unici. In poche parole, un set è come un cestino in cui puoi mettere solo oggetti non ripetuti. Se provi a mettere nel cestino qualcosa che è già lì, il cestino ignorerà semplicemente questa azione.
Principali caratteristiche dei set
Unicità:
In un set ogni elemento è unico. Se aggiungi un elemento che già esiste nel set, non verrà aggiunto di nuovo.
Disordinato:
A differenza delle liste, gli elementi in un set non hanno un ordine definito. Questo significa che non puoi accedere agli elementi tramite l'indice.
Mutabilità:
I set possono essere modificati — puoi aggiungere e rimuovere elementi, ma gli elementi stessi del set devono essere immutabili (ad esempio, numeri, stringhe o tuple).
2.2 Creare un set in Python
Vediamo tutti i modi per creare set in Python, così avrai un arsenale completo di metodi per lavorarci.
Uso delle parentesi graffe
Il modo più comune per creare un set è usare le parentesi graffe {}. Proprio come lavorare con tuple e liste, elenchi gli elementi all'interno delle parentesi:
fruit_set = {"apple", "banana", "cherry"}
print(fruit_set) # Output: {"banana", "cherry", "apple"}
Gli elementi possono essere di tipi diversi, ma ogni elemento deve essere unico.
fruit_set = {"apple", 1, 3.25}
print(fruit_set) # Output: {1, "apple", 3.25}
Uso della funzione set()
La funzione set() può essere utilizzata per creare un set da un altro oggetto iterabile, come una lista, una stringa o una tupla.
Da una lista
list_to_set = set([1, 2, 3, 4, 4, 5])
print(list_to_set) # Output: {1, 2, 3, 4, 5}
Da una stringa
string_to_set = set("hello")
print(string_to_set) # Output: {"h", "e", "l", "o"}
Da una tupla
tuple_to_set = set((1, 2, 3, 4, 5))
print(tuple_to_set) # Output: {1, 2, 3, 4, 5}
Da un altro set
Puoi creare un set da un altro set, che è utile per creare copie.
original_set = {"apple", "banana", "cherry"}
new_set = set(original_set)
print(new_set) # Output: {"banana", "cherry", "apple"}
Set vuoto
Per creare un set vuoto si usa la funzione set(). Nota che usare le parentesi graffe {} creerà un dizionario vuoto (dictionary), non un set.
empty_set = set()
print(empty_set) # Output: set()
2.3 Elenco dei metodi
I set in Python hanno una serie di metodi che permettono di gestire in maniera efficiente le collezioni di dati. Ecco alcuni dei metodi più popolari della classe set:
| Metodo | Descrizione |
|---|---|
add() |
Aggiunge un elemento al set |
remove() |
Rimuove un elemento dal set, genera un errore se l'elemento non è presente |
discard() |
Rimuove un elemento dal set, non genera errore se l'elemento non è presente |
pop() |
Rimuove e restituisce un elemento casuale, genera un errore se il set è vuoto |
clear() |
Rimuove tutti gli elementi dal set |
union() |
Ritorna l'unione dei set |
intersection() |
Ritorna l'intersezione dei set |
difference() |
Ritorna la differenza dei set |
symmetric_difference() |
Ritorna la differenza simmetrica dei set |
update() |
Aggiunge elementi da un altro set o oggetto iterabile al set corrente |
Di seguito analizzeremo i dettagli dell'utilizzo di tutti questi metodi e anche qualcosa in più.
GO TO FULL VERSION