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.
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: