# Python-code om het woordenboek te laten zien en
# missing waardefout
# initialiseren van het woordenboek
d
=
{
`a`
:
1
,
` b`
:
2
}
# probeert de waarde van de ontbrekende sleutel weer te geven
print
(
"De waarde geassocieerd met ` c` is: "
)
print
(d [
` c`
])
Fout:
Traceback (meest recente oproep als laatste): bestand "46a9aac96614587f5b794e451a8f4f5f.py", regel 9, in print (d [`c`]) KeyError:` c`
In in het bovenstaande voorbeeld gaf geen enkele sleutel met de naam "c" in het woordenboek geen runtime-fout. Om dergelijke omstandigheden te voorkomen en om de gebruiker te waarschuwen dat een specifieke sleutel ontbreekt of om een standaardbericht naar die locatie te sturen, zijn er verschillende manieren om ontbrekende sleutels aan te pakken.
Methode 1: met behulp van get ()
De get (key, def_val) methode is handig wanneer we een sleutel moeten valideren. Als de sleutel aanwezig is, wordt de waarde die aan de sleutel is gekoppeld afgedrukt, anders wordt de def_value die in de argumenten is doorgegeven, geretourneerd.
Methode 2: met behulp van setdefault ()
setdefault (sleutel, def_value) werkt als get (), maar het verschil is dat elke keer dat een sleutel ontbreekt, er een nieuwe sleutel wordt gemaakt met een def_value die is gekoppeld aan de sleutel doorgegeven aan argumenten.
Om de bovenstaande functies te implementeren, klikt u Defaultdict " — het is een container die is gedefinieerd in een module met de naam "verzameling ". Er is een functie (standaardfabriek) als argument nodig. De standaardinstelling is de fabrieksstandaard is ingesteld op "int", die is, 0 . Als sleutel ontbreekt — defaultdict, retourneert en default is weergegeven door standaard . Het heeft voorrang op get () of setdefault ().
- De standaard wordt ingesteld in de declaratie . Het is niet nodig om de functie steeds opnieuw aan te roepen en dezelfde waarden als argumenten door te geven. Vandaar tijdwinst .
- Het implementeren van defaultdict is sneller dan get () of setdefault ().
# Python-code om standaarddictaat aan te tonen
# import & quot; collecties & quot; voor defaultdict
import
collecties
# standaarddeclaratie
# stelt de standaardwaarde "Sleutel niet gevonden" in voor ontbrekende sleutels
defd
=
verzamelingen. defaultdict (
lambda
:
`Sleutel niet gevonden`
)
# initialiserende waarden
defd [
`a`
]
=
1
# initialiseren van waarden
defd [
`b`
]
=
2
# afdrukwaarde
print
(
"De waarde geassocieerd met ` a` is: "
, einde
=
"")
print
(defd [
`a`
])
# afdrukwaarde geassocieerd met ' c '
print
(
"De waarde die hoort bij ` c` is: "
, end
=
" ")
print
( defd [
`c`
])
Uitvoer:
De waarde geassocieerd met `a` is: 1 De waarde geassocieerd met `c` is: Sleutel niet gevonden
Dit artikel met dank aan Manjeet Singh . Als u als Python.Engineering bent en graag wilt bijdragen, kunt u ook een artikel schrijven met Contribut.python.engineering of door een artikel te plaatsen bijdragen @ python.engineering. Zie mijn artikel op de Python.Engineering-startpagina en help andere nerds.
Plaats opmerkingen als je iets verkeerd vindt of als je meer informatie wilt delen over het hierboven besproken onderwerp.