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:
- Python | Získajte kľúč z hodnoty v slovníku
- Skontrolujte, či v slovníku existuje viacero kľúčov
- Získajte kľúče slovníka ako zoznam
- Otestujte, či kľúč existuje v slovníku tuple kľúčov