Introduzione
Ogni linguaggio di programmazione ha bisogno di strutture dati per immagazzinare, organizzare e manipolare informazioni. In Python, le strutture dati più usate sono:
- liste (list)
- tuple (tuple)
- set (set)
- dizionari (dict)
Conoscerle bene è fondamentale per scrivere codice Python pulito, veloce e flessibile. In questo articolo vedremo come funzionano, come si usano e quali sono le differenze principali.
Liste (list)
Una lista è una sequenza ordinata e mutabile di elementi.
frutti = ["mela", "banana", "kiwi"]
frutti.append("arancia")
print(frutti[1]) # banana
Caratteristiche:
- Ordinata
- Indicizzabile
- Modificabile
- Accetta duplicati
Tuple (tuple)
Una tuple è simile a una lista, ma immutabile.
animali = {"cane", "gatto", "cavallo"}
animali.add("pecora")
print(animali)
Caratteristiche:
Ordinata
Non modificabile (immutabile)
Più veloce delle liste
Utile per dati “bloccati”

Set (set)
Un set è una collezione non ordinata di elementi unici.
studente = {"nome": "Luca", "età": 22}
print(studente["nome"]) # Luca
Caratteristiche:
Nessun ordine
Nessun duplicato
Ottimo per operazioni di confronto (unione, differenza, intersezione)
Dizionari (dict)
I dizionari memorizzano coppie chiave → valore.
studente = {"nome": "Luca", "età": 22}
print(studente["nome"]) # Luca
Caratteristiche:
Indicizzati per chiave, non per posizione
Mutabili
Veloci per accesso diretto
Tabella comparativa
| Tipo | Ordinato | Mutabile | Duplicati | Chiavi |
|---|---|---|---|---|
list |
✅ | ✅ | ✅ | ❌ |
tuple |
✅ | ❌ | ✅ | ❌ |
set |
❌ | ✅ | ❌ | ❌ |
dict |
✅ (v3.7+) | ✅ | ❌ (nelle chiavi) | ✅ |
Operazioni comuni
# LIST
len(frutti)
frutti.remove("banana")
frutti.sort()
# TUPLE
len(coordinate)
# SET
len(animali)
animali.remove("gatto")
# DICT
studente.keys()
studente.values()
Best practice
- Usa le tuple per dati che non devono cambiare
- Usa i set per evitare duplicati
- Usa i dizionari per associare etichetta a valori
- Usa le liste per raccolte dinamiche, ordinabili
