|
Come abbiamo delle sequenze di caratteri, possiamo avere delle sequenze generiche di oggetti di tipo diverso. Esiste un tipo primitivo in python che serve allo scopo, che si chiama lista.
In altri linguaggi come il pascal o il Java, le liste non sono tipi primitivi. In Python si. E come tali che possono esprimere con delle costanti. Posso assegnare una lista ad una qualsiasi variabile, semplicemente come segue:
x = [ 1, 'due', 3.0 ]
In questo modo, ho ottenuto una lista, che contiene come primo elemento il numero intero 1, come secondo la stringa due, e come terzo elemento il numero in virgola mobile 3.
Le liste assomigliano abbastanza alle stringhe, nel senso che è possibile accedere i vari elementi semplicemente utilizzando un indice. Quindi possiamo estrarre la stringa 'duè dalla lista con la sintassi:
>>>x[1]
'due'
Fare attenzione al fatto che gli indici di una sequenza iniziano da zero, e quindi per estrarre secondo elemento occorre utilizzare l'indice 1. Ciò non ha niente a che fare con il suo contenuto, che per confondere le idee nell'esempio è 'duè.
Alle liste si applicano le regole delle sotto sequenza (slice) che abbiamo già visto con le stringhe. Quindi possiamo per esempio prendere gli ultimi due elementi con:
>>> x[1:3]
['due', 3.0]
>>> x[-2:]
['due', 3.0]
Allo stesso modo possiamo ottenere la lunghezza della lista utilizzandola funzione len().
A differenza invece delle stringhe, le liste sono mutabili. Possiamo quindi sostituire un elemento semplicemente assegnando il valore:
>>> x[1] = 2L
>>> x
[1, 2L, 3.0]
A cosa vale anche per le sotto sequenza:
>>> x[-2:] = ['due', 3, 4.0]
>>> x
[1, 'due', 3, 4.0]
Per esempio possiamo notare come una slice può essere assegnata e sostituita con un'altra lista, che può anche avere lunghezza diversa. Nell'esempio abbiamo sostituitole gli ultimi due elementi con una nuova sequenza composta di tre elementi, ottenendo quindi una lista complessiva di quattro elementi.
|