Eccezione Python Keyerror

Eccezione Python Keyerror
IL Keyerror L'eccezione può verificarsi in Python per molteplici motivi. Cercare di accedere alla chiave non valida del dizionario Python è uno di questi. Il dizionario viene utilizzato per archiviare più valori in cui ciascun valore è accessibile con un particolare valore chiave. IL Keyerror si verifica quando una chiave di un dizionario viene tentato di accedere che non esiste o per provare a accedere alla chiave non valida. Questo tipo di Keyerror può essere evitato accedendo solo ai tasti del dizionario valido o può essere gestito utilizzando il Try-Except Blocco di Python. Questa eccezione può verificarsi anche per alcuni altri moduli Python. I modi per gestire o evitare Keyerror Le eccezioni quando si accede al dizionario Python sono mostrate in questo tutorial.

Esempio-1: occorrenza dell'eccezione KeyError per la chiave non valida

Crea un file Python con il seguente script per verificare il verificarsi di keyerror per la chiave non valida del dizionario. Nella sceneggiatura, è stato dichiarato un dizionario di tre coppie di valore chiave. Successivamente, tre chiavi sono state usate per leggere i valori del dizionario in cui la chiave denominata 'tipo' non esiste nel dizionario. Il keyerror si verificherà al momento della lettura del valore "tipo".

# Dichiarare un dizionario
DIC_Customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_Type': 'Saving'
# Leggi e stampa l'ID cliente
id = DIC_Customers ['Customer_id']
Stampa ("ID cliente:", ID)
# Leggi e stampa il nome del cliente
name = dic_customers ['name']
Stampa ("Nome cliente:", nome)
# Leggi e stampa il tipo di account
type = dic_customers ['type']
Stampa ("Tipo di account:", tipo)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. I valori delle chiavi valide del dizionario sono stati stampati e il Keyerror è stato visualizzato per la chiave non valida, "tipo'.

Esempio-2: gestione dell'eccezione KeyError usando il blocco Try-Except

L'eccezione KeyError può essere gestita in modi diversi. Un modo è utilizzare il blocco Try-Except per gestire questo errore. Crea un file Python con il seguente script per gestire il Keyerror usando il blocco Try-Except. Un dizionario di tre elementi è stato dichiarato nella sceneggiatura. Il keyerror si verificherà al momento della lettura del valore del tasto denominato "tipo" che non esiste nel dizionario e il messaggio di errore personalizzato verrà visualizzato.

# Dichiarare un dizionario
DIC_Customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_Type': 'Saving'
Tentativo:
# Leggi e stampa l'ID cliente
id = DIC_Customers ['Customer_id']
Stampa ("ID cliente:", ID)
# Leggi e stampa il nome del cliente
name = dic_customers ['name']
Stampa ("Nome cliente:", nome)
# Leggi e stampa il tipo di account
type = dic_customers ['type']
Stampa ("Tipo di account:", tipo)
Tranne Keyerror come chiave:
# Stampa Messaggio di errore
La chiave di stampa (' non esiste nel dizionario.'.Formato (chiave))

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. I valori delle chiavi valide del dizionario sono stati stampati e l'errore è stato visualizzato per la chiave non valida.

Esempio-3: evitare l'eccezione di keyerror usando la funzione get ()

IL Keyerror L'eccezione può essere evitata utilizzando la funzione get () senza utilizzare il blocco try_except. Il get () è una funzione integrata di Python per leggere il valore della chiave particolare del dizionario. Questa funzione restituisce il valore della chiave se esiste la chiave; Altrimenti, ritorna Nessuno. Crea un file Python con il seguente script per sapere come evitare il keyerror utilizzando la funzione get (). Nello script, la funzione get () è stata utilizzata per leggere due tasti validi e una chiave non valida del dizionario.

# Dichiarare un dizionario
DIC_Customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_Type': 'Saving'
# Imposta il valore chiave
Key = 'Name'
# Stampare il valore della chiave se esiste
print ("Il valore del tasto è: ".Formato (chiave, dic_customer.get (chiave)))
# Imposta il valore chiave
key = 'type'
# Stampare il valore della chiave se esiste
print ("Il valore del tasto è: ".Formato (chiave, dic_customer.get (chiave)))
# Imposta il valore chiave
Key = 'Bilancia'
"
Stampare il valore della chiave se esiste,
Altrimenti impostare il valore per la nuova chiave
"
print ("Il valore del tasto è: ".Formato (chiave, dic_customer.get (chiave, 60000)))

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. IL 'tipo' La chiave non esiste nel dizionario. Così il 'Nessuno' Il valore è stato restituito dalla funzione get () per questa chiave.

Esempio-4: evitare l'eccezione KeyError utilizzando l'istruzione IF-ELSE

IL Keyerror L'eccezione può anche essere evitata senza usare la funzione get (). Crea un file Python con il seguente script per evitare il Keyerror Eccezione controllando l'esistenza della chiave del dizionario. La funzione denominata 'Check_key' è stato dichiarato nello script per verificare l'esistenza di ciascuna chiave del dizionario. La funzione restituirà il valore formattato della chiave se la chiave esiste nel dizionario; Altrimenti, restituirà il messaggio di errore. Un dizionario di tre elementi è stato usato qui. All'inizio, il 'identificativo del cliente' verrà controllato che esiste nel dizionario. Successivamente, il 'tipo'La chiave che non esiste nel dizionario verrà controllata.

# Definisci la funzione per controllare la chiave esistente o no
def check_key (k, DIC):
Se K in DIC.tasti ():
print ("Il valore del valore è .".Formato (K, DIC [K]))
altro:
la chiave di stampa (" non esiste nel dizionario.".formato (k))
# Dichiarare un dizionario
DIC_Customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_Type': 'Saving'
# Chiama la funzione per controllare il tasto "customer_id"
check_key ('customer_id', dic_customer)
# Chiama la funzione per controllare il tasto "Digita"
check_key ('type', dic_customer)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Il valore del 'identificativo del cliente'La chiave è stata stampata e il messaggio di errore è stato stampato per il 'tipo' chiave.

Conclusione:

In questo tutorial sono stati mostrati diversi modi per evitare l'eccezione KeyError che si verifica per la chiave inesistente del dizionario Python. Gli utenti di Python possono seguire uno dei modi qui menzionati in base alle loro esigenze.