Le liste in Python: la guida completa
📅 6 giugno 2026 — di Alessandro Simone
Le liste in Python sono una delle strutture dati più importanti che imparerai. Servono a memorizzare più valori in un'unica variabile e tornano utili praticamente in ogni programma: dalla gestione di un elenco di voti alla creazione di un piccolo gioco. In questa guida vediamo come crearle, modificarle e usarle, con esempi pensati per chi parte da zero.
Cos'è una lista?
Una lista è un contenitore ordinato di elementi. Immaginala come una fila di caselle numerate, ognuna delle quali contiene un valore. Si crea con le parentesi quadre:
voti = [7, 8, 6, 9, 5]
materie = ["Python", "SQL", "Reti"]
mista = [1, "ciao", 3.14, True]
Come vedi, una lista può contenere numeri, stringhe e perfino tipi diversi insieme. È flessibile e potente.
Accedere agli elementi: gli indici
Ogni elemento ha una posizione, chiamata indice. In Python gli indici partono da zero, non da uno! Questo confonde sempre i principianti:
materie = ["Python", "SQL", "Reti"]
print(materie[0]) # Python
print(materie[1]) # SQL
print(materie[-1]) # Reti (l'ultimo elemento)
L'indice negativo -1 è un piccolo trucco molto comodo: ti permette di accedere all'ultimo elemento senza sapere quanti elementi ci sono.
Modificare una lista
A differenza delle stringhe, le liste sono modificabili: puoi cambiarne il contenuto dopo averle create.
voti = [7, 8, 6]
voti[2] = 10 # cambia il terzo elemento
print(voti) # [7, 8, 10]
I metodi più utili
Le liste hanno tante funzioni incorporate, chiamate "metodi". Ecco le più importanti da conoscere per la scuola:
numeri = [3, 1, 2]
numeri.append(4) # aggiunge 4 in fondo -> [3, 1, 2, 4]
numeri.remove(1) # rimuove il valore 1 -> [3, 2, 4]
numeri.sort() # ordina la lista -> [2, 3, 4]
numeri.reverse() # inverte l'ordine -> [4, 3, 2]
print(len(numeri)) # quanti elementi ci sono -> 3
- append() aggiunge un elemento alla fine: è il metodo che userai di più;
- remove() elimina la prima occorrenza di un valore;
- sort() ordina gli elementi dal più piccolo al più grande;
- len() (in realtà una funzione) restituisce il numero di elementi.
Scorrere una lista con il for
Per fare qualcosa con ogni elemento si usa il ciclo for, come spiego nell'articolo dedicato al ciclo for in Python:
voti = [7, 8, 6, 9]
somma = 0
for voto in voti:
somma = somma + voto
media = somma / len(voti)
print("Media:", media) # 7.5
Questo è un esempio realistico: calcolare la media dei voti è uno dei primi programmi "utili" che si scrivono a scuola.
Lo slicing: tagliare le liste
Lo slicing permette di estrarre una porzione di lista indicando un intervallo di indici:
numeri = [10, 20, 30, 40, 50]
print(numeri[1:3]) # [20, 30]
print(numeri[:2]) # [10, 20]
print(numeri[2:]) # [30, 40, 50]
Come per range(), l'indice finale è escluso. Lo slicing è velocissimo e molto usato.
Errori da evitare
- Indice fuori range: se provi ad accedere a
lista[10]ma la lista ha solo 3 elementi, Python dà errore. - Dimenticare che gli indici partono da 0: il primo elemento è sempre
lista[0]. - Confondere append() e una nuova assegnazione: append modifica la lista esistente, non ne crea una nuova.
In sintesi
Le liste sono il tuo coltellino svizzero in Python: servono a raccogliere dati, modificarli e scorrerli. Ricorda che gli indici partono da zero, che le liste sono modificabili e che append(), remove() e sort() ti risolveranno la vita. Una volta padroneggiate, sarai pronto per affrontare strutture dati più avanzate come i dizionari.
