Cos'è KeyError in Python? Dizionario e gestirli



Questo articolo ti fornirà una conoscenza dettagliata e completa di come risolvere KeyError in Python in Dictionary.

Prima di immergerci in KeyError in , è importante sapere come è impostato un dizionario in Python. I seguenti suggerimenti verranno discussi in questo articolo:

Dizionario in Python

Il Il concetto in Python è una raccolta casuale di valori, che ha memorizzato i valori dei dati come una mappa. È diverso da altri tipi di dati che contengono un solo valore come elemento. Contiene la chiave: coppia valore.





KeyError in Python

Il valore chiave lo rende più efficiente. I due punti separano una coppia chiave e valore e una 'virgola' separa ciascuna chiave. Questo dizionario in Python funziona in modo simile a un normale dizionario. Le rispettive chiavi devono essere univoche e di tipi di dati immutabili come stringhe, numeri interi e tuple, ma i valori-chiave possono essere iterati e possono essere di qualsiasi tipo. Possono esserci chiavi, che sono stringhe che si riferiscono a numeri e viceversa.



Diamo un'occhiata a come funziona un dizionario attraverso l'esempio codificato di seguito.

# Creazione di un dizionario vuoto Dict = {} print ('Null dict:') print (Dict) # Creazione di un dizionario con chiavi intere Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary con l'uso di chiavi intere:') print (Dict) # Creazione di dizionario con chiavi miste Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary con il uso di tasti misti: ') print (Dict) # Creazione di un dizionario con il metodo dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with l'uso di dict (): ') print (Dict) # Un dizionario che ha ogni elemento come Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary con ogni articolo in coppia: ') print (Dict)

KeyError in Python

Dato che siamo chiari su cosa sia un dizionario in Python e come funziona. Vediamo ora cos'è un errore chiave. KeyError in Python viene sollevato quando si tenta di accedere a una chiave che non è in un dizionario.



La logica di mappatura è una struttura di dati che mappa un insieme di dati su altri significativi. Quindi, è un errore, che viene generato quando si accede alla mappatura e non viene trovata. È familiare a un errore di ricerca in cui il bug semantico sarebbe indicato poiché la chiave che stai cercando non si trova nella sua memoria. Questo può essere illustrato meglio nel codice seguente.

come convertire double in integer in java

Qui sto cercando di accedere a una chiave chiamata 'D' che non è presente nel dizionario. Quindi, l'errore viene generato non appena trova un'eccezione. Tuttavia, le restanti chiavi presenti nel dizionario, che vengono stampate correttamente, hanno i valori esatti ad esse corrispondenti.

// età = {'A': 30, 'B': 28, 'C': 33} print (età ['A']) print (età ['B']) print (età ['C']) print (età ['D']) //

Meccanismo di gestione per un KeyError in Python

Chiunque incontri un KeyError può gestirlo in modo responsabile. È sua abilità considerare tutti i possibili input per un determinato programma e gestire con successo eventuali inserimenti precari.

A seconda del tuo caso d'uso, alcune di queste soluzioni potrebbero essere migliori o potrebbero anche non essere la soluzione esatta che stai cercando. Tuttavia, l'obiettivo finale è impedire la comparsa di eccezioni di errori chiave impreviste.

Se viene riportato un errore da un dizionario nel tuo codice, puoi utilizzare .get () per estrarre il valore nella chiave specificata o un valore predefinito. Diamo un'occhiata a un campione.

// Elenco dei frutti e relativi prezzi. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Get price for:') fruit1 = fruits.get (fruit) if fruit1: print ( f '{fruit} è {fruit1} rupees.') else: print (f '{fruit}' s cost is unknown. ')

Una soluzione generica a KeyError

La solita soluzione è che puoi sempre usare il blocco try-tranne per affrontare tali problemi sollevando il codice appropriato e fornendo una soluzione di backup. Controlla il codice sottostante per maggiore chiarezza.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { età [persona]} anni. ') eccetto KeyError: print (f' età di {persona} è sconosciuta. ') //

Con questo, arriviamo alla fine di questo articolo KeyError in Python. Spero che questo articolo sia stato informativo per far luce sull'eccezione KeyError di Python e su come potrebbe essere sollevata. Inoltre, potresti essere consapevole ora che nel caso in cui il problema sia una ricerca della chiave nel dizionario nel tuo codice, puoi passare dall'accesso alla chiave direttamente sul dizionario all'uso del metodo .get () con un valore di ritorno predefinito.

Se il problema non deriva dal tuo codice, utilizza il blocco try-tranne per controllare meglio il flusso del codice.

Per ottenere una conoscenza approfondita di Python e delle sue varie applicazioni, puoi farlo per la formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Hai domande per noi? Menzionateli nella sezione commenti di 'KeyError in Python' e vi risponderemo.