# kod Pythona do prezentacji słownika i
# brakujące błąd wartości
# inicjowanie słownika
d
=
{
`a`
:
1
,
` b`
:
2
}
# próba wyświetlenia wartości brakującego klucza
print
(
"Wartość powiązana z `c` to: "
)
print
(d [
` c`
])
Błąd:
Traceback (ostatnie wywołanie ostatnie): Plik „46a9aac96614587f5b794e451a8f4f5f.py”, wiersz 9, w druku (d [`c`]) KeyError:` c`
In w powyższym przykładzie żaden klucz o nazwie „c” w słowniku nie powodował błędu w czasie wykonywania. Aby uniknąć takich warunków i ostrzec użytkownika, że brakuje określonego klucza lub wysłać domyślną wiadomość do tej lokalizacji, istnieje kilka sposobów obsługi brakujących kluczy.
Metoda 1: Użycie get()
Metoda get (key, def_val) jest przydatna, gdy potrzebujemy zweryfikować klucz. Jeśli klucz jest obecny, wypisywana jest wartość powiązana z kluczem, w przeciwnym razie zwracana jest wartość def_value przekazana w argumentach.
Metoda 2: Użycie setdefault()
setdefault (klucz, def_value) działa jak get (), ale różnica polega na tym, że za każdym razem, gdy brakuje klucza, tworzony jest nowy klucz z def_value powiązaną z klucz przekazany do argumentów.
Aby zaimplementować powyższe funkcje, kliknij Defaultdict " — jest to kontener zdefiniowany w moduł o nazwie „kolekcja ”. Jako argument przyjmuje funkcję (domyślna fabryka) . Domyślnie domyślne ustawienie fabryczne to „int”, co jest, 0 . Jeśli brakuje klucza — defaultdict, zwraca i domyślny to wyświetlane domyślnie. Ma pierwszeństwo przed get () lub setdefault ().
- Wartość domyślna jest ustawiona w deklaracji . Nie ma potrzeby ciągłego wywoływania funkcji i przekazywania tych samych wartości co argumenty. Stąd oszczędność czasu.
- Implementacja defaultdict jest szybsza niż get () lub setdefault ().
# Kod Pythona do zademonstrowania defaultdict
# import & quot; kolekcje & quot; for defaultdict
importuj
kolekcje
# deklaracja domyślna
# ustawia domyślną wartość "Key not found" dla brakujących kluczy
defd
=
kolekcje. defaultdict (
lambda
:
`Nie znaleziono klucza`
)
# wartości inicjujących
defd [
`a`
]
=
1
# wartości inicjujących
defd [
`b`
]
=
2
# wartość wydruku
print
(
"Wartość powiązana z ` a` to: "
, koniec
=
"")
print
(defd [
`a`
])
# wartość wydruku skojarzona z ' c '
print
(
"Wartość powiązana z ` c` is: "
, end
=
" ")
print
( defd [
`c`
])
Dane wyjściowe:
Wartość powiązana z `a` to: 1 Wartość powiązana z `c` to: Nie znaleziono klucza
Ten artykuł dzięki uprzejmości Manjeet Singh . Jeśli jesteś Python.Engineering i chcesz wnieść swój wkład, możesz również napisać artykuł, korzystając z Contribute.python.engineering lub publikując artykuł przyczynić się @ python.engineering. Zobacz mój artykuł zamieszczony na stronie głównej Python.Engineering i pomóż innym geekom.
Proszę publikować komentarze, jeśli znajdziesz coś nie tak lub jeśli chcesz udostępnić więcej informacji na temat omówiony powyżej.