Le liste
Nel linguaggio Python, le liste sono una tipologia di oggetto. Questo tipo particolare di oggetto viene utilizzato per immagazzinare una serie di valori in una sequenza indicizzata.
Una lista viene definita quando si utilizza una sequenza di valori racchiusa all’interno di parentesi quadre,
>>> lista = [1, 1, 2, 3, 5, 8, 13, 21]
e per accedere ai suoi valori è sufficiente scrivere il nome (come tutte le altre variabili).
>>> lista
[1, 1, 2, 3, 5, 8, 13, 21]
Nel caso in cui volessimo accedere ad uno solo dei valori della lista, per esempio il terzo, scriveremo il nome e l’indice corrispondente che è 2 (e non 3!!!! gli indici in Python partono da 0).
>>> lista[2]
2
E’ possibile creare una lista vuota e poi riempirla successivamente via via durante l’esecuzione del programma.
>>> nuova_lista = []
>>> nuova_lista
[]
Una lista può anche contenere valori di tipologia diversa, anche altre liste.
>>> misto = [1, 3.14, "Hello", [1,2,3]]
>>> misto
[1, 3.14, "Hello", [1,2,3]]
Liste di Liste
In Python non esistono array multidimensionali (matrici) e quindi per rappresentarle si utilizzano le liste di liste.
>>> matrice = [[1,2,3],[4,5,6],[7,8,9]]
In questo caso per accedere ad un elemento di una lista interna è necessario richiamare due indici, il primo riferito alla lista generale, il secondo riferito alla lista interna.
>>> matrice[1][2]
6
IndexError
Un errore molto comune è la richiesta di un indice oltre quelli definiti. In questo caso abbiamo un IndexError.
>>> a = [0,1,2,3]
>>> a[6]
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
a[6]
IndexError: list index out of range
Stringhe come liste
Un’altra curiosità è che finora abbiamo utilizzato le stringhe. Bene queste stringhe possono essere considerate delle liste di caratteri
>>> a = "Hello World!"
>>> a[6]
'W'