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)

Next Section - Assegnamento di Tuple