Python-ordbogen kan ikke indeholde duplikerede nøgler, så det er meget vigtigt at kontrollere, om en nøgle allerede er til stede i ordbogen. Hvis du ved et uheld tildeler en dublet nøgleværdi, vil den nye værdi overskrive den gamle.
Så i en given ordbog er vores opgave at kontrollere, om den givne nøgle allerede findes i en ordbog eller ej. Hvis den er til stede, udskriv den nuværende og nøglens værdi. Ellers udskriv Ikke til stede.
Eksempel
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> Sådan kontrolleres, om en nøgle allerede findes i en ordbog
Der kan være forskellige måder at kontrollere, om en given nøgle findes i en Ordbog , har vi dækket følgende tilgange:
- Python Dictionary nøgler()
- Hvis og i
- Python ordbog har_nøgle()
- Python ordbog få() Metode
- Python 'KeyError' undtagelseshåndtering
- Python List count()
1. Kontroller, om nøglen findes ved hjælp af nøgler()-metoden
keys()-metoden returnerer en liste over alle tilgængelige nøgler i ordbogen. Med den indbyggede metode nøgler(), brug if-sætningen med 'in'-operatøren for at kontrollere, om nøglen er til stede i ordbogen eller ej.
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)> |
>
>
Produktion:
Present, value = 200 Not present>
Tidskompleksitet : På)
Hjælpeplads : O(1)
2. Tjek, om nøglen findes ved at bruge if og in
Denne metode bruger hvis erklæring for at kontrollere, om den givne nøgle findes i ordbogen.
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)> |
>
>
Produktion:
Present, value = 200 Not present>
Tidskompleksitet : O(n), hvor n er antallet af nøgleværdi-par i ordbogen.
Hjælpeplads : O(n), for at gemme nøglerne og værdierne i ordbogen.
3. Tjek, om nøglen findes ved hjælp af has_key()-metoden
Bruger har_nøgle() metoden returnerer sand, hvis en given nøgle er tilgængelig i ordbogen, ellers returnerer den en falsk. Med den indbyggede metode has_key() skal du bruge if-sætningen til at kontrollere, om nøglen er til stede i ordbogen.
Bemærk - has_keys()-metoden er blevet fjernet fra Python3-versionen. Derfor kan den kun bruges i 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)> |
>
>
Produktion:
('Present, value =', 200) Not present> 4. Tjek, om nøglen findes ved hjælp af get()-metoden
Den indbyggede metode få() returnerer en liste over tilgængelige nøgler i ordbogen. Med keys() skal du bruge if-sætningen til at kontrollere, om nøglen er til stede i ordbogen. Hvis nøglen er til stede, vil den udskrive Til stede ellers vil den udskrive Ikke Til stede.
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'>)> |
springe listen over
>
>
Produktion:
Present>
5. Håndtering af 'KeyError'-undtagelse i Python
Brug prøv og undtagen at håndtere KeyError-undtagelsen for at bestemme, om en nøgle er til stede i en diæt. KeyError-undtagelsen genereres, hvis den nøgle, du forsøger at få adgang til, ikke findes i ordbogen.
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'>)> |
>
>
Produktion:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary>
6. Tjek, om nøglen findes ved hjælp af count() Metode
tælle() metode kan bruges til at kontrollere, om nøglen findes i ordbogen, hvis nøgletal er 1, så er nøglen til stede ellers, er det ikke.
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)> |
>
>
Produktion:
Present>
I denne artikel diskuterede vi omkring 6 metoder, der kan bruges til at kontrollere, om en given nøgle findes i ordbogen. Du kan bruge en af ovenstående metoder til at kontrollere, om nøglen er til stede. Det er meget vigtigt at tjekke for nøgler, da en ordbog ikke kan indeholde duplikerede nøgler.
Lignende læsninger:
- Python | Hent nøgle fra værdi i ordbog
- Tjek om givet flere nøgler findes i en ordbog
- Få ordbogsnøgler som en liste
- Test om nøgle findes i tuple keys ordbog