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].
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
Uno degli errori più frequenti è confondere il metodo remove(), che elimina un valore, con pop(), che elimina un elemento in base alla posizione.
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()eremove(); - sono fondamentali per la gestione di raccolte di dati.
9.11 Domande tipiche d’esame
- Che differenza c’è tra una stringa e una lista?
- Perché le liste sono dette mutabili?
- Qual è la differenza tra
append()einsert()? - In che cosa differiscono
remove()epop()? - Come si itera sugli elementi di una lista?
9.12 Esercizi
- Crea una lista di 5 numeri interi e stampane il primo e l’ultimo elemento.
- Aggiungi un elemento in fondo con
append()e stampalo. - Rimuovi un elemento con
pop(). - Scrivi un ciclo che stampi tutti gli elementi di una lista di nomi.
Approfondimento ufficiale:
documentazione Python sulle liste