assegnazione tupla python

Le tuple sono oggetti immutabili. "Immutabile" significa che non puoi modificare i valori all’interno di una tupla. Puoi solo rimuoverli. Se provi ad assegnare un nuovo valore a un elemento in una variabile, riscontrerai l’errore "typeerror: ‚Äòtuple‚Äô l’oggetto non supporta l’assegnazione di elementi" errore.

In questa guida, discutiamo cosa significa questo errore e perché potresti riscontrarlo. Esamineremo un esempio di questo errore in modo che tu possa imparare a risolverlo nel tuo codice.

typeerror: ‚Äòtuple‚Äô l’oggetto non supporta l’assegnazione di elementi

Anche se le tuple e le liste memorizzano entrambe le sequenze di dati, hanno alcune distinzioni. Mentre è possibile modificare i valori in un elenco, i valori all’interno di una tupla non possono essere modificati. Inoltre, le tuple sono memorizzate tra parentesi mentre gli elenchi sono dichiarati tra parentesi quadre.

Poiché non è possibile modificare i valori in una tupla, l’assegnazione degli elementi non funziona.

Considera il seguente frammento di codice:

Questo frammento di codice ci consente di modificare il primo valore in " honor_roll" lista a Holly. Funziona perché le liste sono mutevoli. Puoi modificare i loro valori. Lo stesso codice non funziona con i dati archiviati in una tupla.

Uno scenario di esempio

Costruiamo un programma che tenga traccia dei corsi offerti da una scuola superiore. Gli studenti dell’ultimo anno possono scegliere da una classe, ma alcune classi vengono sostituite.

Inizia creando una raccolta di nomi di classe:

81 Il % dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver frequentato un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’inizio di un bootcamp alla ricerca del primo lavoro.

Abbiamo creato una tupla che memorizza i nomi di ogni classe offerta.

Il dipartimento di scienze ha notificato alla scuola che la psicologia non viene più offerta a causa della mancanza di numeri nella classe. Sostituiremo la psicologia con la filosofia poiché il corso di filosofia ha appena aperto alcuni spazi.

Per farlo, utilizziamo l’operatore di assegnazione:

Questo codice sostituirà il valore alla posizione di indice 3 nella nostra lista di classi con "Filosofia". Successivamente, stampiamo la nostra lista di classi alla console in modo che l’utente possa vedere quali classi vengono attivamente offerte:

Usa un ciclo for per stampare ogni classe nella nostra tupla sulla console. Eseguiamo il nostro codice e vediamo cosa succede:

Il nostro codice restituisce un errore.

La soluzione

Abbiamo provato a utilizzare l’operatore di assegnazione per cambiare un argomento nel nostro elenco. Le tuple sono immutabili, quindi non possiamo cambiare i loro valori. Questo è il motivo per cui il nostro codice restituisce un errore.

Per risolvere questo problema, convertiamo le nostre "classi" tuple in una elenco. Questo ci permetterà di cambiare i valori nella nostra sequenza di nomi di classe.

Fai questo usando il metodo list():

Usiamo il metodo list() per convertire il valore di "classi" a un elenco. Assegniamo questo nuovo elenco alla variabile "as_list". Ora che abbiamo il nostro elenco di classi memorizzato come elenco, possiamo modificare le classi esistenti nell’elenco.

Eseguiamo il nostro codice:

Il nostro codice cambia con successo la "Psicologia" lezione di "Filosofia". Il nostro codice stampa quindi l’elenco delle classi sulla console.

Se abbiamo bisogno di memorizzare i nostri dati come una tupla, possiamo sempre riconvertire la nostra lista in una tupla una volta che abbiamo cambiato i valori che vogliamo cambiare.Possiamo farlo usando il tuple() metodo:

Questo codice converte "as_list" in una tupla e stampa il valore della nostra tupla sulla console:

Potremmo usare questa tupla più avanti nel nostro codice se avessimo bisogno che i nostri nomi di classe fossero memorizzati come una tupla.

Conclusione

L’errore "typeerror: ‚Äòtuple‚Äô non supporta l’assegnazione di elementi" viene generato l’errore quando si tenta di modificare un valore in una tupla utilizzando l’assegnazione di elementi.

Per risolvere questo errore, converti una tupla in un elenco prima di modificare i valori in una sequenza. Facoltativamente, puoi quindi riconvertire l’elenco in una tupla.

Ora sei pronto per correggere questo errore nel tuo codice come un professionista!

"Il Karma professionale è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"

Venus, Software Engineer presso Rockbot

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method