Skontrolujte, či daný kľúč už existuje v slovníku Pythonu

Slovník Pythonu nemôže obsahovať duplicitné kľúče, takže je veľmi dôležité skontrolovať, či sa kľúč už v slovníku nachádza. Ak omylom priradíte duplicitnú hodnotu kľúča, nová hodnota prepíše starú.

Takže v danom slovníku je našou úlohou skontrolovať, či daný kľúč už v slovníku existuje alebo nie. Ak je prítomný, vytlačte prítomnosť a hodnotu kľúča. V opačnom prípade vytlačte Nie je prítomné.

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

Ako skontrolovať, či kľúč už existuje v slovníku

Existujú rôzne spôsoby, ako skontrolovať, či daný kľúč existuje v a Slovník , sme pokryli nasledujúce prístupy:

  • Kľúče slovníka Pythonu ()
  • Ak a v
  • Slovník Pythonu has_key()
  • Slovník Pythonu dostať () Metóda
  • Spracovanie výnimiek Python „KeyError“.
  • Python List count()

1. Skontrolujte, či existuje kľúč pomocou metódy kľúčov().

Metóda keys() vráti zoznam všetkých dostupných kľúčov v slovníku. So vstavanou metódou kľúče (), pomocou príkazu if s operátorom „in“ skontrolujte, či sa kľúč nachádza v slovníku alebo nie.

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ýkon:

Present, value = 200 Not present 

Časová zložitosť : O(n)
Pomocný priestor : O(1)

2. Skontrolujte, či kľúč existuje pomocou if a in

Táto metóda využíva ak vyhlásenie aby ste skontrolovali, či daný kľúč v slovníku existuje.

Python3




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ýkon:

Present, value = 200 Not present 

Časová zložitosť : O(n), kde n je počet párov kľúč – hodnota v slovníku.
Pomocný priestor : O(n), na uloženie kľúčov a hodnôt do slovníka.

3. Skontrolujte, či kľúč existuje pomocou metódy has_key().

Pomocou has_key() metóda vráti hodnotu true, ak je daný kľúč dostupný v slovníku, v opačnom prípade vráti hodnotu false. Pri vstavanej metóde has_key() použite príkaz if na kontrolu, či sa kľúč nachádza v slovníku.

Poznámka - Metóda has_keys() bola odstránená z verzie Python3. Preto ho možno použiť iba v Pythone2.

Python




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ýkon:

('Present, value =', 200) Not present 

4. Pomocou metódy get() skontrolujte, či kľúč existuje

Vstavaná metóda dostať () vráti zoznam dostupných kľúčov v slovníku. Pomocou kľúča () pomocou príkazu if skontrolujte, či sa kľúč nachádza v slovníku. Ak je kľúč prítomný, vytlačí sa Prítomný, v opačnom prípade sa vypíše Neprí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ýkon:

Present 

5. Spracovanie výnimky „KeyError“ v Pythone

Použite skúste a okrem na spracovanie výnimky KeyError, aby ste zistili, či je kľúč prítomný v strave. Výnimka KeyError sa vygeneruje, ak sa kľúč, ku ktorému sa pokúšate dostať, nenachádza v 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'> )>

Výkon:

Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary 

6. Skontrolujte, či sa kľúč používa Count() metóda

počítať () metódu možno použiť na kontrolu, či kľúč existuje v slovníku, ak je počet kľúča 1, potom je kľúč prítomný, inak nie je.

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ýkon:

Present 

V tomto článku sme diskutovali o 6 metódach, ktoré možno použiť na kontrolu, či daný kľúč v slovníku existuje. Ak chcete skontrolovať, či je kľúč prítomný, môžete použiť ktorúkoľvek z vyššie uvedených metód. Kontrola kľúčov je veľmi dôležitá, pretože slovník nemôže obsahovať duplicitné kľúče.

Podobné čítanie: