Gestione delle chiavi mancanti nei dizionari Python

| | | | | | | | | | | | | | | | | | | |

# codice Python per mostrare il dizionario e
# mancante errore di valore


# inizializzazione del dizionario

d = { `a` : 1 , ` b` : 2 }


# cercando di visualizzare il valore della chiave mancante

print ( "Il valore associato a` c` è: " )

print (d [ ` c` ])

Errore:

Traceback (ultima chiamata più recente): File "46a9aac96614587f5b794e451a8f4f5f.py", riga 9, in stampa (d [`c`]) KeyError:` c` 

In nell`esempio sopra, nessuna chiave denominata "c" nel dizionario non ha dato un errore di runtime. Per evitare tali condizioni e per avvisare l`utente che manca una chiave specifica o inviare un messaggio predefinito a quella posizione, esistono diversi modi per gestire le chiavi mancanti.

Metodo 1: utilizzo di get()

Il metodo get (key, def_val) è utile quando dobbiamo convalidare una chiave. Se la chiave è presente, viene stampato il valore associato alla chiave, altrimenti viene restituito il valore_def passato negli argomenti.

Metodo 2: Utilizzo di setdefault()

setdefault (key, def_value) funziona come get (), ma la differenza è che ogni volta che manca una chiave, viene creata una nuova chiave con un def_value associato al chiave passata agli argomenti.

Per implementare le funzioni precedenti, fai clic Defaultdict " — è un contenitore definito in un modulo chiamato "raccolta ". Prende una funzione (default factory) come argomento . Il default è il default di fabbrica è impostato su "int", cioè è 0 . Se la chiave manca — defaultdict, restituisce e default è visualizzato per impostazione predefinita . Ha la precedenza su get() o setdefault().

# Codice Python per dimostrare defaultdict


# import & quot; collezioni & quot; for defaultdict

import raccolte


# dichiarazione predefinita
# imposta il valore predefinito "Chiave non trovata" per le chiavi mancanti

defd = raccolte. defaultdict ( lambda : `Chiave non trovata` )


# valori di inizializzazione

defd [ `a` ] = 1


# valori di inizializzazione

defd [ `b` ] = 2


# stampa valore

print ( "Il valore associato a` a` è: " , fine = "")

print (defd [ `a` ])


# stampa il valore associato a ' c '

print ( "Il valore associato a ` c` è: " , end = " ")

print ( defd [ `c` ])

Output:

Il valore associato a `a` è: 1 Il valore associato a` c` è: Chiave non trovata 

Articolo per gentile concessione di Manjeet Singh . Se sei come Python.Engineering e desideri contribuire, puoi anche scrivere un articolo utilizzando contribuire.python.engineering o pubblicando un articolo contribuire @ python.engineering. Guarda il mio articolo che appare sulla home page di Python.Engineering e aiuta altri fanatici.

Pubblica commenti se trovi qualcosa che non va o se desideri condividere maggiori informazioni sull`argomento discusso sopra.