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