Liste Python

Capitolo 9 – Liste Python

Le liste Python sono strutture dati sequenziali e mutabili che permettono di memorizzare insiemi ordinati di elementi e gestire i dati in modo efficiente.

Materiale originale a cura di Alfredo Di Fiore – megistone.it

Manuale completo:
vai all’indice del corso


Le liste Python sono strutture dati sequenziali e mutabili che permettono di memorizzare insiemi ordinati di elementi, rendendo possibile l’organizzazione e la manipolazione efficiente dei dati.

9.1 Obiettivi formativi

Al termine di questo capitolo lo studente sarà in grado di:

  • comprendere la natura delle liste in Python;
  • accedere agli elementi tramite indice;
  • modificare, aggiungere e rimuovere elementi;
  • utilizzare i principali metodi delle liste;
  • iterare su una lista mediante cicli.

9.2 Che cosa sono le liste Python

Una lista è una sequenza ordinata di elementi racchiusi tra parentesi quadre.

numeri = [1, 2, 3, 4]
nomi = ["Anna", "Luca", "Marco"]
mista = [10, "Python", True]

Le liste Python possono contenere elementi dello stesso tipo oppure di tipi diversi.
A differenza delle stringhe, sono mutabili.


9.3 Indicizzazione delle liste Python

Come le stringhe, anche le liste sono indicizzate a partire da 0.

numeri = [10, 20, 30, 40]
print(numeri[0])
print(numeri[2])

L’output sarà rispettivamente 10 e 30.

Si possono usare anche indici negativi:

print(numeri[-1])

In questo caso viene restituito l’ultimo elemento della lista.


9.4 Slicing delle liste

Le liste supportano lo slicing, cioè l’estrazione di sottosequenze.

numeri = [10, 20, 30, 40, 50]
print(numeri[1:4])

Il risultato è [20, 30, 40].


9.5 Mutabilità delle liste

Le liste Python sono mutabili: è possibile modificare direttamente i loro elementi.

numeri = [10, 20, 30]
numeri[1] = 99
print(numeri)

L’output sarà [10, 99, 30].

💡 Idea chiave

La mutabilità rende le liste molto flessibili, ma richiede attenzione quando si lavora con riferimenti, copie e modifiche successive.


9.6 Metodi principali delle liste Python

Le liste mettono a disposizione numerosi metodi per l’inserimento, la cancellazione e la gestione dei dati.

Metodo Funzione Esempio
append() aggiunge un elemento in coda L.append(5)
insert() inserisce in una posizione L.insert(0, 99)
pop() rimuove e restituisce un elemento L.pop()
remove() elimina un valore specifico L.remove(3)
sort() ordina la lista L.sort()

9.7 Iterazione su una lista

Una lista può essere percorsa con un ciclo for.

nomi = ["Anna", "Luca", "Marco"]

for nome in nomi:
    print(nome)

Questa è una delle operazioni più comuni nella programmazione Python.


9.8 Lunghezza di una lista

Per conoscere il numero di elementi si usa la funzione len().

valori = [4, 8, 15, 16, 23, 42]
print(len(valori))

9.9 Errori comuni

⚠️ Errore concettuale comune

Uno degli errori più frequenti è confondere il metodo remove(), che elimina un valore, con pop(), che elimina un elemento in base alla posizione.

⚠️ Altro errore frequente

Accedere a un indice inesistente provoca un errore IndexError.


9.10 Riepilogo

  • le liste Python sono sequenze ordinate e mutabili;
  • supportano indicizzazione e slicing;
  • possono essere modificate direttamente;
  • dispongono di metodi come append(), pop() e remove();
  • sono fondamentali per la gestione di raccolte di dati.

9.11 Domande tipiche d’esame

  1. Che differenza c’è tra una stringa e una lista?
  2. Perché le liste sono dette mutabili?
  3. Qual è la differenza tra append() e insert()?
  4. In che cosa differiscono remove() e pop()?
  5. Come si itera sugli elementi di una lista?

9.12 Esercizi

  1. Crea una lista di 5 numeri interi e stampane il primo e l’ultimo elemento.
  2. Aggiungi un elemento in fondo con append() e stampalo.
  3. Rimuovi un elemento con pop().
  4. Scrivi un ciclo che stampi tutti gli elementi di una lista di nomi.

Approfondimento ufficiale:

documentazione Python sulle liste


⬅️ Capitolo precedente
Capitolo successivo in preparazione ➡️

Articoli simili