Creare un Set in Python: Definire Collezioni Non Ordinate
Un set in Python è una collezione non ordinata di elementi unici. A differenza delle liste o delle tuple, i set non consentono elementi duplicati, rendendoli ideali per operazioni come la rimozione di duplicati o l'esecuzione di operazioni matematiche sui set. I set sono mutabili, il che significa che i loro elementi possono essere aggiunti o rimossi, ma i dati all'interno del set devono essere immutabili (ad esempio, numeri, stringhe o tuple).
Nota
Un set non può contenere dizionari o liste perché entrambi sono tipi di dati mutabili.
Ci sono due modi principali per creare un set in Python:
Usando le parentesi graffe
{}
con elementi separati da virgole;Usando la funzione
set()
.
Ecco alcuni punti chiave sui set:
Sono mutabili: puoi aggiungere o rimuovere elementi da un set, ma il set stesso deve contenere elementi immutabili;
Elementi Duplicati: se vengono aggiunti elementi duplicati a un set, vengono automaticamente rimossi;
Non Ordinati: l'ordine degli elementi in un set non è garantito e può variare;
Tipi di Dati Diversi: i set possono contenere elementi di diversi tipi di dati, come stringhe, interi o tuple.
Definiamo un set usando la funzione set()
:
# Creating a set which contains strings movie_set = set("Interstellar") print(movie_set)
Successivamente, definiamo un set di film popolari usando le parentesi graffe:
# Creating a set of movies using curly braces movies = {"Inception", "Interstellar", "Tenet", "Dunkirk", "Tenet"} print(movies)
Le voci duplicate come "Tenet"
vengono rimosse automaticamente quando l'insieme viene creato.
Limitazioni nella Creazione di Insiemi
La sintassi per creare un insieme usando la funzione set()
ha requisiti specifici. Se tenti di passare più argomenti direttamente, come:
python
Incontrerai un TypeError
, perché la funzione set()
si aspetta un unico iterabile come argomento, non più valori separati.
Per creare un insieme con più elementi, devi fornirli come un unico iterabile:
# Using a list `[]` movies = set(["Tenet", "Dunkirk", "Inception"]) print(movies)
# Using a tuple `(,)` movies = set(("Tenet", "Dunkirk", "Inception")) print(movies)
Swipe to start coding
Iniziamo a praticare con i set.
- Inizializza il set
nolan_movies
con i seguenti film:"Inception"
,"The Dark Knight"
,"Interstellar"
,"Tenet"
. - Usa le parentesi graffe (
{}
) per creare il set.
Soluzione
Grazie per i tuoi commenti!