Tuple Python: sequenze immutabili e decompressione

Comprendere le tuple Python. Scopri quando utilizzare le tuple sugli elenchi, come funziona il decompressione delle tuple e come l'immutabilità garantisce la sicurezza dei dati.

Prova nell'editor

Panoramica

Una tupla è una sequenza ordinata e immutabile di elementi in Python. A differenza delle liste, che sono racchiuse tra parentesi quadre `[]` e possono essere modificate, le tuple sono racchiuse tra parentesi `()` e non possono essere modificate una volta create. Il tentativo di aggiungere, accodare, eliminare o riassegnare elementi in una tupla risulterà in un errore di runtime. Questa immutabilità funge da funzionalità di sicurezza, garantendo che i dati trasmessi all'applicazione rimangano costanti e sicuri.

Poiché le tuple sono immutabili, sono più veloci delle liste e utilizzano meno memoria. Sono anche hashable (a condizione che tutti gli elementi nella tupla siano hashable), il che consente loro di essere utilizzati come chiavi nei dizionari o elementi negli insiemi, cosa che gli elenchi di funzionalità non supportano. Le tuple vengono tradizionalmente utilizzate per raggruppare record di dati eterogenei, ad esempio per rappresentare una riga di database, coordinate o valori di colore RGB.

Una delle funzionalità più eleganti delle tuple è il Tuple Unpacking. Ciò ti consente di assegnare elementi di una tupla a variabili individuali in un'unica riga (ad esempio, `x, y = coordinate`). È molto utilizzato quando si restituiscono più valori da una funzione. Python consente anche lo scambio dinamico di variabili utilizzando l'unpacking (`a, b = b, a`) senza bisogno di una terza variabile temporanea, rendendo il codice notevolmente più pulito e più facile da seguire.

Codice e output di esecuzione

Creazione di coordinate come tuple, dimostrazione dei limiti di immutabilità e decompressione degli elementi.

tuples_demo.py
Prova nell'editor
# Creating tuples
location = (40.7128, -74.0060)  # NYC Coordinates
print(f"Latitude: {location[0]}, Longitude: {location[1]}")

# Tuple unpacking
lat, lon = location
print(f"Unpacked Lat: {lat} | Unpacked Lon: {lon}")

# Function returning multiple values
def get_user_info():
    return "Alice", 25, "admin"

name, age, role = get_user_info()
print(f"{name} ({role}) is {age} years old.")
Uscita terminale
Latitude: 40.7128, Longitude: -74.006
Unpacked Lat: 40.7128 | Unpacked Lon: -74.006
Alice (admin) is 25 years old.

Implementazione passo dopo passo

  • Restituzione di più valori in modo pulito dalle funzioni di supporto
  • Memorizzazione di costanti come coordinate, colori o record di database
  • Definizione di chiavi di dizionario immutabili per mappature multidimensionali

Domande frequenti

Come definisco una tupla con un singolo elemento?

È necessario includere una virgola finale dopo l'elemento, ad esempio single_item = (42,). Senza la virgola, Python la tratta come un'espressione standard tra parentesi.

Puoi modificare un elenco annidato all'interno di una tupla?

Sì. Sebbene il riferimento alla tupla stesso sia immutabile, se contiene oggetti mutabili come gli elenchi, puoi modificare il contenuto di tali elenchi sul posto.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.