Tuple e Mutabilità¶
Una differenza tra stringhe e liste è che gli elementi di una lista possono essere modificati ma i caratteri in una stringa no. In altre parole, le stringhe sono immutabili le liste sono mutabili.
Una tupla, come una lista, è una sequenza di elementi di qualsiasi tipo. Differentemente dalla liste, le tuple sono immutabili. Sintatticamente, una tupla, è una sequenza di valori separati da virgole. Anche se non necessario, le racchiudiamo tra parentesi per convenzione:
julia = ("Julia", "Roberts", 1967, "Duplicity", 2009, "Actress", "Atlanta, Georgia")
Le tuple sono utili per rappresentare i record — ovvero informazioni eventualmente disomogenee che hanno attinenza. Non c’è descrizione del significato di ogni campo.
Le tuple supportano le stesse operazioni di stringhe e liste. Per esempio, l’operatore di indicizzazione seleziona un elemento da una tupla.
Come per le stringhe, se proviamo a modificare uno degli elementi della tupla otteniamo un errore.
julia[0] = 'X'
TypeError: 'tuple' object does not support item assignment
Possiamo creare un riferimento alla tupla, usando l’operatore slice. Se julia
fa un nuovo film, possiamo costruire la nuova tupla prendendo pezzi della vecchia e concatenandoli con l’informazione relativa al nuovo film.
(ch09_tuple1)
Per creare una tupla con un singolo elemento, dobbiamo includere la virgola finale, perchè altrimenti Python tratta il (5)
sotto come un intero tra parentesi:
(chp09_tuple2)