python int oggetto non è sottoscrivibile

Alcuni oggetti in Python sono sottoscrivibili. Ciò significa che contengono o possono contenere altri oggetti. Gli interi non sono un oggetto sottoscrivibile. Sono usati per memorizzare numeri interi. Se tratti un intero come un oggetto sottoscrivibile, verrà generato un errore.

In questa guida, parleremo del "typeerror: ‚Äòint‚Äô l’oggetto non è sottoscrivibile" errore e perché viene sollevato. Esamineremo uno snippet di codice con questo problema per mostrare come risolverlo nel codice. Cominciamo!

Il problema: typeerror: ‚Äòint‚Äô l’oggetto non è sottoscrivibile

Inizieremo dando un’occhiata al nostro messaggio di errore:

La prima parte del nostro messaggio di errore, TypeError, indica il tipo del nostro errore. Un TypeError è un errore che viene generato quando si tenta di eseguire un’operazione su un valore che non supporta tale operazione. La concatenazione di una stringa e di un numero intero, ad esempio, genera un TypeError.

La seconda parte del nostro messaggio ci informa della causa.

Questo messaggio è indicativo noi che stiamo trattando un intero, che è un numero intero, come un oggetto sottoscrivibile. Gli interi non sono oggetti sottoscrivibili. Solo oggetti che contengono altri oggetti, come stringhe, elenchi, tuple e dizionari sono sottoscrivibili.

Facciamo‚Äô s diciamo che provi a utilizzare l’indicizzazione per accedere a un elemento da un elenco:

Questo codice restituisce: ProtonMail. Gli elenchi sono sottoscrivibili, il che significa che puoi utilizzare l’indicizzazione per recuperare un valore da un elenco.

L’81% 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 del bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.

Non puoi usare questa stessa sintassi su un valore non descrivibile, come un float o un intero.

Uno scenario di esempio

Scriveremo un programma che chiede a un utente la data in cui il suo prossimo vacanza inizia e stampa ogni valore su una riga separata. Questo programma avrà un errore che possiamo risolvere.

Cominciamo scrivendo il nostro programma principale:

Questo programma chiede all’utente di inserire il giorno in cui inizia la propria vacanza utilizzando un istruzione input(). Quindi, utilizziamo lo slicing per recuperare i valori del mese, del giorno e dell’anno che l’utente ha specificato. Questi valori sono memorizzati nelle variabili.< br>

Successivamente, stampiamo i valori di queste variabili sulla console. Ad ogni valore viene assegnata un’etichetta che indica la parte della data a cui corrisponde il valore.

Eseguiamo il nostro codice:

Risolviamo questo errore.

Abbiamo convertito il valore di " vacanza" in un numero intero. Ciò significa che non possiamo accedervi utilizzando l’affettatura o l’indicizzazione. Gli interi non sono indicizzati come le stringhe.

Per risolvere questo problema, possiamo rimuovere l’istruzione int() dal nostro codice. L’istruzione input() restituisce un valore stringa. Possiamo suddividere questo valore di stringa usando il nostro codice.

Revisioniamo la nostra istruzione input():

Ora, proviamo a esegui il nostro codice:

Il nostro codice funziona correttamente! Non stiamo più cercando di affettare un numero intero perché il nostro codice non contiene un’istruzione int(). Invece, "vacanza" viene memorizzato come una stringa. Questa stringa viene suddivisa utilizzando la sintassi dello slicing.

Conclusione

L’errore "type: ‚Äòint‚Äô l’oggetto non è sottoscrivibile" viene generato un errore quando si tenta di accedere a un numero intero come se fosse un oggetto sottoscrivibile, come un elenco o un dizionario.

Per risolvere questo problema, assicurati di non utilizzare lo slicing o l’indicizzazione per accedere ai valori in un numero intero. Se devi eseguire un’operazione disponibile solo per gli oggetti sottoscrivibili, come lo slicing o indicizzazione, dovresti prima convertire il tuo intero in una stringa o in un elenco.

Ora sei pronto per risolvere questo Python TypeError come un esperto!

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