← Torna al blog Programmazione · 7 min di lettura

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

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

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.

Esercitati sulle liste

Nella sezione esercizi trovi problemi pratici su liste e cicli, con soluzioni passo passo.

Vai ai corsi →