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: