Preverite, ali dani ključ že obstaja v slovarju Python
Slovar Python ne more vsebovati podvojenih ključev, zato je zelo pomembno preveriti, ali je ključ že prisoten v slovarju. Če pomotoma dodelite podvojeno vrednost ključa, bo nova vrednost prepisala staro.
Torej v danem slovarju je naša naloga preveriti, ali dani ključ že obstaja v slovarju ali ne. Če je prisoten, natisnite sedanjost in vrednost ključa. V nasprotnem primeru natisnite Not present.
Primer
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 Kako preveriti, ali ključ že obstaja v slovarju
Obstajajo lahko različni načini za preverjanje, ali dani ključ obstaja v a Slovar , smo zajeli naslednje pristope:
- Ključi slovarja Python ()
- Če in v
- Slovar Python has_key()
- Slovar Python dobiti () Metoda
- Obravnava izjem Python 'KeyError'
- Python List count()
1. Z metodo keys() preverite, ali ključ obstaja
metoda keys() vrne seznam vseh razpoložljivih ključev v slovarju. Z vgrajeno metodo ključi(), uporabite stavek if z operatorjem 'in', da preverite, ali je ključ prisoten v slovarju ali 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)> |
Izhod:
Present, value = 200 Not present
Časovna zapletenost : O(n)
Pomožni prostor : O(1)
2. Preverite, ali ključ obstaja z uporabo if in in
Ta metoda uporablja izjava if da preverite, ali dani ključ obstaja v slovarju.
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)> |
Izhod:
Present, value = 200 Not present
Časovna zapletenost : O(n), kjer je n število parov ključ-vrednost v slovarju.
Pomožni prostor : O(n), za shranjevanje ključev in vrednosti v slovar.
3. Z metodo has_key() preverite, ali ključ obstaja
Uporabljati has_key() metoda vrne true, če je dani ključ na voljo v slovarju, sicer vrne false. Z vgrajeno metodo has_key() uporabite stavek if, da preverite, ali je ključ prisoten v slovarju.
Opomba - metoda has_keys() je bila odstranjena iz različice Python3. Zato se lahko uporablja samo v Python2.
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)> |
Izhod:
('Present, value =', 200) Not present 4. Z metodo get() preverite, ali ključ obstaja
Vgrajena metoda dobiti () vrne seznam razpoložljivih ključev v slovarju. S tipkami() uporabite stavek if, da preverite, ali je ključ prisoten v slovarju. Če je ključ prisoten, bo natisnil Present, sicer bo natisnil Not Present.
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'> )> |
Izhod:
Present
5. Obravnava izjeme 'KeyError' v Pythonu
Uporaba poskusite in razen za obravnavo izjeme KeyError za ugotavljanje, ali je ključ prisoten v dieti. Izjema KeyError se ustvari, če ključa, do katerega poskušate dostopati, ni v slovarju.
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'> )> |
Izhod:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary
6. Preverite, ali ključ obstaja z uporabo metoda count().
štetje () metodo lahko uporabite za preverjanje, ali ključ obstaja v slovarju; če je število ključev 1, je ključ prisoten, drugače pa ni.
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)> |
Izhod:
Present
V tem članku smo razpravljali o 6 metodah, s katerimi lahko preverite, ali določen ključ obstaja v slovarju. Če želite preveriti, ali je ključ prisoten, lahko uporabite katero koli od zgornjih metod. Preverjanje ključev je zelo pomembno, saj slovar ne sme vsebovati podvojenih ključev.
Podobna branja:
- Python | Pridobite ključ iz vrednosti v slovarju
- Preverite, ali v slovarju obstaja več danih ključev
- Pridobite slovarske ključe kot seznam
- Preizkusite, ali ključ obstaja v slovarju tuple keys