Funzioni su liste
Nella sezione precedente abbiamo visto come utilizzare alcuni operatori sulle liste, ma il lavoro maggiore su di esse dovrà essere effettuato utilizzando opportune funzioni. Python mette a disposizione un buon set di funzioni che permettono di manipolare le liste ed il loro contenuto in maniera efficiente.
Aggiungere un elemento ad una lista
Per esempio, l’operazione più comune che si deve effettuare una volta definita una lista sarà quella di aggiungere ulteriori elementi durante l’esecuzione del codice. Per fare questa operazione utilizzeremo il metodo append().
Nota: il termine metodo in Python si utilizza per indicare una funzione che lavora su di un oggetto. Quindi avremo oggetto.metodo()
>>> lista = [0,1,2,3,4]
>>> lista.append(5)
>>> lista
[0,1,2,3,4,5]
Inserire un elemento ad una lista
Quando vogliamo inserire un nuovo elemento in una lista, ma non alla fine, bensì in una determinata posizione intermedia, si utilizzerà il metodo insert(). Questo metodo richiede due parametri, l’indice che definisce la posizione in cui inserire l’elemento e il valore da inserire.
>>> lista = [0,1,2,3,4]
>>> lista.insert(3,0)
>>> lista
[0,1,2,0,3,4]
Trovare un elemento all’interno di una lista
Spesso può essere molto utile conoscere la posizione di un elemento all’interno di una lista, e per farlo si utilizza il metodo index(). Questo metodo infatti cercherà un valore all’interno di una lista scandendo in ordine crescente gli indici, poi una volta trovato, restituirà il valore dell’indice corrispondente. Se esistono più elementi aventi lo stesso valore, questo metodo restituirà quello con l’indice più basso (il primo trovato). Nel caso in cui il valore non fosse presente nella lista, il metodo lancia un errore di tipo ValueError.
>>> lista = [0,1,2,3,4,3]
>>> lista.index(3)
4
>>> lista.index(6)
Traceback (most recent call last):
File "<pyshell#54>", line 1, in
lista.index(6)
ValueError: 6 is not in list
Trovare il massimo ed il minimo valore in una lista
A volte può esser utile trovare il valore massimo e minimo in una lista. Questo si può effettuare applicando ad una lista le funzioni max() e min(). Queste due funzioni non appartengono agli oggetti lista, e quindi non sono metodi, ma possono lavorare su oggetti lista a patto che siano oggetti iterabili (in parole povere contengano valori numerici). E’ sufficiente passare la lista come argomento delle due funzioni per avere come valore restituito il valore massimo ed il valore minimo di una lista.
>>> lista = [0,1,2,3,4]
>>> max(lista)
4
>>> min(lista)
0
Mettere in ordine crescente gli elementi di una lista
Un’altra operazione molto utile è quella di ordinare gli elementi all’interno di una lista. Questo può essere fatto applicando il metodo sort() alla lista. Questo è un metodo e quindi può lavorare anche su liste di stringhe.
>>> lista = [2,1,0,4,3]
>>> lista.sort()
>>> lista
[0,1,2,3,4]
>>> words = ["casa","mela","albero"]
>>> words.sort()
>>> words
["albero","casa","mela"]
Eliminare un elemento dalla lista
Un’altra operazione molto importante è quella di rimuovere un elemento dalla lista. Per farlo si utilizza il metodo remove().
>>> lista = [0,1,2,3,4]
>>> lista.remove(3)
>>> lista
[0,1,2,4]
Contare gli elementi in una lista
A volte ci può essere utile conoscere quanti elementi sono presenti all’interno di una lista. Per far questo si usa la funzione len() che richiede la lista passata come argomento.
>>> lista = [0,1,2,3,4]
>>> len(lista)
5
Inoltre è possibile sapere quante volte un determinato valore è contenuto all’interno di una lista. Per questo si utilizza il metodo count() che prende come argomento il valore da cercare e restituisce il numero delle volte che questo valore è presente.
>>> lista = [0,1,2,1,4]
>>> lista.count(1)
2
Invertire la sequenza degli elementi in una lista
Infine esiste un metodo che inverte l’ordine degli elementi contenuti all’interno di una lista, questo metodo si chiama reverse().
>>> lista = [0,1,2,3,4]
>>> lista.reverse()
>>> lista
[4,3,2,1,0]
⇐ Vai a Lezione 2.8 – Operazioni su liste
Vai a Lezione 2.10 – La funzione range() ⇒