lettura facile

Lo spacchettamento in Python

In Python, "spacchettamento" (o "unpacking" in inglese) è un modo efficiente per assegnare i valori di una sequenza (es. tupla, lista, ecc. ) a più variabili tramite un unico comando.

Ecco un esempio pratico.

Definisci una tupla con tre elementi.

tupla = (1, 2, 3)

Poi spaccetta la tupla in questo modo

a, b, c = tupla

Nello spacchettamento il numero delle variabili deve coincidere con il numero degli elementi all'interno della sequenza. In caso contrario, Python restituisce un errore "too many values to unpack". Per evitare il problema puoi eseguire uno spacchettamento parziale. Alla fine di questo tutorial ti spiego come fare.

Python assegna il primo valore della tupla (1) alla variabile "a"

print(a)

1

Il secondo valore della tupla (2) alla variabile "b"

print(b)

2

Il terzo valore della tupla (3) alla variabile "b"

print(c)

3

Lo spacchettamento funziona anche nel caso delle liste e delle stringhe.

Ad esempio crea una lista

lista = [1, 2, 3]

Poi spacchetta la lista in tre variabili

a, b, c = lista

Ora crea una stringa

stringa = "xyz"

Poi spacchetta ogni carattere della stringa in tre variabili.

a, b, c = stringa

Lo spacchettamento parziale

Python ti permette di ottenere anche lo spacchettamento parziale usando l'asterisco "*" come prefisso prima di una variabile.

L'asterisco * viene usato per denotare che resto dovrebbe raccogliere i valori in eccesso durante lo spacchettamento.

Ad esempio, crea una lista

lista = [1, 2, 3, 4, 5]

Poi assegna i primi due elementi rispettivamente alle variabili "a" e "b" e gli elementi restanti alla variabile "c"

a, b, *c = lista

Alla variabile "a" viene assegnato il primo elemento della lista.

print(a)

1

Alla variabile "b" è assegnato il secondo elemento della lista.

print(b)

2

Alla variabile "c" sono assegnati tutti gli elementi restanti della lista, dal terzo elemento in poi.

print(c)

[3, 4, 5]

In questo esempio, a e b prendono i primi due elementi, mentre resto prende tutti gli elementi restanti della tupla come una lista.

Le variabile "a" e "b" contengono dei singoli valori numerici mentre la variabile "c" è una lista, ossia una struttura dati con una sequenza di valori, perché contiene più valori.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin