07. Insiemi
Gli insiemi
In Python, gli insiemi (set) sono delle strutture dati che rappresentano collezioni di elementi non ordinati e senza duplicati.
Le caratteristiche principali di queste strutture sono:
Elementi unici: ogni elemento nel set è unico e non può essere presente più volte
Ordine non definito: l'ordine degli elementi all'interno di un set non è definito e può variare
Mutabilità: i set sono mutabili, il che significa che il loro contenuto può essere modificato dopo la creazione
Operazioni comuni: i set supportano diverse operazioni comuni, come l'aggiunta di elementi, la loro rimozione, il controllo dell'appartenenza di un elemento e l'unione e l'intersezione con altri set.
Esempio:
Codice sorgente
giorni_feriali = {"lunedì", "martedì", "mercoledì", "giovedì", "venerdì"}
giorni_festivi = {"sabato", "domenica"}
print("Giorni feriali:")
for giorno in giorni_feriali:
print(giorno, end=" ")
# il simbolo | è usato per l'unione tra insiemi
settimana = giorni_feriali | giorni_festivi
print("\n\nSettimana:")
for giorno in settimana:
print(giorno, end=" ")
g = input("\n\nInserire un giorno: ")
# g.lower() è utilizzato per ottenere la stringa in minuscolo
if g.lower() in settimana:
print("La stringa è stata riconosciuta")
else:
print("La stringa non è stata riconosciuta")
Esecuzione:
Giorni feriali:
venerdì lunedì giovedì martedì mercoledì
Settimana:
sabato venerdì lunedì giovedì martedì domenica mercoledì
Inserire un giorno: SABATO
La stringa è stata riconosciuta
Note:
L'inizializzazione di un insieme si ottiene racchiudendo degli elementi separati da virgola in una coppia di parentesi graffe. Notare che la coppia di parentesi graffe si usa anche per i dizionari ma la sintassi nei due casi è differente
L'unione di due insiemi si effettua con il carattere pipe (|)
per verificare la presenza di un elemento in un insieme si usa l'operatore in
Operazioni sugli insiemi
Esempio:
Codice sorgente
parola1 = input("Inserire una parola: ")
parola2 = input("Inserire una seconda parola: ")
# set() è utilizzato per inizializzare un insieme vuoto
s1 = set()
s2 = set()
for c in parola1:
s1.add(c)
for c in parola2:
s2.add(c)
# s3 è l'intersezione degli insiemi s1 e s2
s3 = s1 & s2
print("Le lettere in comune tra le due parole sono: ")
print(s3)
Esecuzione:
Inserire una parola: settimanale
Inserire una seconda parola: mensile
Le lettere in comune tra le due parole sono:
{'s', 'n', 'm', 'i', 'l', 'e'}
Note:
Per inizializzare un insieme vuoto si usa set(). Non è possibile utilizzare una coppia di parentesi graffe perché questa sintassi è riservata all'inizializzazione di un dizionario vuoto
La sintassi s1.add() è utilizzata per aggiungere un elemento in un insieme
Con la sintassi s1 & s2 si ottiene l'intersezione tra due insiemi
Sito: 7ecnologie
Sezione: 09. Python
Capitolo: 02. Introduzione a Python
Paragrafo: 07. Insiemi
Indice dei capitoli: 00. Risorse - 01. Ambiente di sviluppo - 02. Introduzione a Python - 03. Accesso al DB - 04. La libreria tkinter - 05. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Primi passi - 02. Funzioni input() e print() - 03. Liste - 04. Tuple - 05. Operatori e conversione di tipi - 06. Dizionari - 07. Insiemi - 08. Il ciclo for - 09. Gestione delle eccezioni - 10. Definizione di funzioni - 11. Parametri delle funzioni