Verificați dacă o cheie dată există deja într-un dicționar Python
Dicționarul Python nu poate conține chei duplicate, așa că este foarte important să verificați dacă o cheie este deja prezentă în dicționar. Dacă atribuiți accidental o valoare a cheii duplicate, noua valoare o va suprascrie pe cea veche.
Deci, într-un dicționar dat, sarcina noastră este să verificăm dacă cheia dată există deja într-un dicționar sau nu. Dacă este prezent, imprimați prezentul și valoarea cheii. În caz contrar, imprimați Nu este prezent.
Exemplu
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 Cum să verificați dacă o cheie există deja într-un dicționar
Pot exista diferite moduri de a verifica dacă o anumită cheie există într-un Dicţionar , am acoperit următoarele abordări:
- Chei de dicționar Python()
- Dacă și în
- Dicţionar Python are_key()
- Dicţionar Python obține() Metodă
- Gestionarea excepțiilor Python „KeyError”.
- Python List count()
1. Verificați dacă cheia există folosind metoda keys().
metoda keys() returnează o listă cu toate cheile disponibile în dicționar. Cu metoda Inbuilt chei(), utilizați instrucțiunea if cu operatorul „in” pentru a verifica dacă cheia este prezentă în dicționar sau nu.
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)> |
Ieșire:
Present, value = 200 Not present
Complexitatea timpului : Pe)
Spațiu auxiliar : O(1)
2. Verificați dacă cheia există folosind if și in
Această metodă utilizează declarația dacă pentru a verifica dacă cheia dată există în dicționar.
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)> |
Ieșire:
Present, value = 200 Not present
Complexitatea timpului : O(n), unde n este numărul de perechi cheie-valoare din dicționar.
Spațiu auxiliar : O(n), pentru a stoca cheile și valorile în dicționar.
3. Verificați dacă cheia există folosind metoda has_key().
Folosind are_key() metoda returnează true dacă o anumită cheie este disponibilă în dicționar, în caz contrar, returnează un false. Cu metoda Inbuilt has_key(), utilizați instrucțiunea if pentru a verifica dacă cheia este prezentă în dicționar.
Notă - Metoda has_keys() a fost eliminată din versiunea Python3. Prin urmare, poate fi folosit numai în Python2.
Piton
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)> |
Ieșire:
('Present, value =', 200) Not present 4. Verificați dacă cheia există utilizând metoda get().
Metoda Inbuilt obține() returnează o listă de chei disponibile în dicționar. Cu keys(), utilizați instrucțiunea if pentru a verifica dacă cheia este prezentă în dicționar. Dacă cheia este prezentă, se va imprima Prezent, altfel se va tipări Neprezent.
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'> )> |
Ieșire:
Present
5. Gestionarea excepției „KeyError” în Python
Utilizare incearca si cu exceptia pentru a gestiona excepția KeyError pentru a determina dacă o cheie este prezentă într-o dietă. Excepția KeyError este generată dacă cheia pe care încercați să o accesați nu se află în dicționar.
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'> )> |
Ieșire:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary
6. Verificați dacă cheia există în utilizare count() Metoda
numara() metoda poate fi folosită pentru a verifica dacă cheia există în dicționar, dacă numărul cheii este 1, atunci cheia este prezentă, altfel nu este.
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)> |
Ieșire:
Present
În acest articol, am discutat despre 6 metode care pot fi folosite pentru a verifica dacă o anumită cheie există în dicționar. Puteți utiliza oricare dintre metodele de mai sus pentru a verifica dacă cheia este prezentă. Verificarea cheilor este foarte importantă, deoarece un dicționar nu poate conține chei duplicate.
Citiri similare:
- Python | Get key from value în dicţionar
- Verificați dacă există mai multe chei date într-un dicționar
- Obțineți cheile de dicționar ca o listă
- Testați dacă cheia există în dicționarul de chei tuple