Slovník Pythonu nemůže obsahovat duplicitní klíče, takže je velmi důležité zkontrolovat, zda se klíč již ve slovníku nachází. Pokud omylem přiřadíte duplicitní hodnotu klíče, nová hodnota přepíše tu starou.
V daném slovníku je tedy naším úkolem zkontrolovat, zda daný klíč již ve slovníku existuje nebo ne. Pokud je přítomen, vytiskněte přítomnost a hodnotu klíče. V opačném případě vytiskněte Není k dispozici.
Příklad
Input : {'a': 100, 'b':200, 'c':300}, key = b Output : Present, value = 200 Input : {'x': 25, 'y':18, 'z':45}, key = w Output : Not present> Jak zkontrolovat, zda klíč již ve slovníku existuje
Existují různé způsoby, jak zkontrolovat, zda daný klíč existuje v a Slovník , jsme pokryli následující přístupy:
- Klíče slovníku Python()
- Pokud a dovnitř
- Slovník Pythonu has_key()
- Slovník Pythonu dostat() Metoda
- Zpracování výjimek „KeyError“ v Pythonu
- Python List count()
1. Zkontrolujte, zda existuje klíč pomocí metody keys().
metoda keys() vrací seznam všech dostupných klíčů ve slovníku. S vestavěnou metodou klíče(), pomocí příkazu if s operátorem „in“ zkontrolujte, zda je klíč ve slovníku přítomen nebo ne.
Python3
# Python3 Program to check whether a> # given key already exists in a dictionary.> > def> checkKey(dic, key):> >if> key>in> dic.keys():> >print>(>'Present, '>, end>=>)> >print>(>'value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
>
Výstup:
Present, value = 200 Not present>
Časová složitost : O(n)
Pomocný prostor : O(1)
2. Zkontrolujte, zda klíč existuje pomocí if a in
Tato metoda využívá if prohlášení zkontrolovat, zda daný klíč ve slovníku existuje.
Python3
npm vymazat mezipaměť
def> checkKey(dic, key):> > >if> key>in> dic:> >print>(>'Present, '>, end>=>)> >print>(>'value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
>
Výstup:
Present, value = 200 Not present>
Časová složitost : O(n), kde n je počet párů klíč–hodnota ve slovníku.
Pomocný prostor : O(n), pro uložení klíčů a hodnot do slovníku.
3. Pomocí metody has_key() zkontrolujte, zda klíč existuje
Za použití has_key() metoda vrací true, pokud je daný klíč dostupný ve slovníku, jinak vrací false. S vestavěnou metodou has_key() použijte příkaz if ke kontrole, zda je klíč přítomen ve slovníku.
Poznámka - Metoda has_keys() byla z verze Python3 odstraněna. Proto jej lze použít pouze v Pythonu2.
Krajta
def> checkKey(dic, key):> > >if> dic.has_key(key):> >print>(>'Present, value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Function> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
>
Výstup:
('Present, value =', 200) Not present> 4. Pomocí metody get() zkontrolujte, zda klíč existuje
Vestavěná metoda dostat() vrátí seznam dostupných klíčů ve slovníku. S keys() použijte příkaz if ke kontrole, zda je klíč přítomen ve slovníku. Pokud je klíč přítomen, vytiskne Přítomen, jinak vytiskne Nepřítomný.
Python3
dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> > # check if 'b' is none or not.> if> dic.get(>'b'>)>=>=> None>:> >print>(>'Not Present'>)> else>:> >print>(>'Present'>)> |
>
>
Výstup:
Present>
5. Zpracování výjimky „KeyError“ v Pythonu
Použití zkuste a kromě ke zpracování výjimky KeyError k určení, zda je klíč přítomen ve stravě. Výjimka KeyError se vygeneruje, pokud klíč, ke kterému se pokoušíte získat přístup, není ve slovníku.
Python3
dictExample>=> {>'Aman'>:>110>,>'Rajesh'>:>440>,>'Suraj'>:>990>}> > # Example 1> print>(>'Example 1'>)> > try>:> >dictExample[>'Kamal'>]> >print>(>'The key exists in the dictionary'>)> except> KeyError as error:> >print>(>'The key doesn't exist in the dictionary'>)> > # Example 2> print>(>'Example 2'>)> > try>:> >dictExample[>'Suraj'>]> >print>(>'The key exists in the dictionary'>)> except> KeyError as error:> >print>(>'The given key doesn't exist in the dictionary'>)> |
>
>
řazení v seznamu v Javě
Výstup:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary>
6. Zkontrolujte, zda se klíč používá metoda count().
počet() metodu lze použít ke kontrole, zda klíč existuje ve slovníku, pokud je počet klíče 1, pak je klíč přítomen, jinak není.
Python3
# Python3 Program to check whether a> # given key already exists in a dictionary.> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> x>=> list>(dic.keys())> res>=> 'Not Present'> if>(x.count(key)>=>=> 1>):> >res>=> 'Present'> print>(res)> |
>
>
Výstup:
Present>
V tomto článku jsme diskutovali o 6 metodách, které lze použít ke kontrole, zda daný klíč ve slovníku existuje. Ke kontrole přítomnosti klíče můžete použít kteroukoli z výše uvedených metod. Kontrola klíčů je velmi důležitá, protože slovník nemůže obsahovat duplicitní klíče.
Podobné čtení:
- Python | Získejte klíč z hodnoty ve Slovníku
- Zkontrolujte, zda ve slovníku existuje více klíčů
- Získejte klíče slovníku jako seznam
- Otestujte, zda klíč existuje ve slovníku n-ticových klíčů