# 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().
- Il valore predefinito è impostato nella dichiarazione . Non è necessità richiamare la funzione più e più volte e passare gli stessi valori degli argomenti. Quindi risparmio di tempo .
- L`implementazione di defaultdict è più veloce di get() o setdefault().
# Codice Python per dimostrare 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
(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.