logo

Zkontrolujte, zda daný klíč již existuje ve slovníku Pythonu

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í: