Sjekk om en gitt nøkkel allerede finnes i en Python-ordbok
Python-ordboken kan ikke inneholde dupliserte nøkler, så det er veldig viktig å sjekke om en nøkkel allerede finnes i ordboken. Hvis du ved et uhell tildeler en duplikatnøkkelverdi, vil den nye verdien overskrive den gamle.
Så i en gitt ordbok er vår oppgave å sjekke om den gitte nøkkelen allerede finnes i en ordbok eller ikke. Hvis tilstede, skriv ut present og verdien av nøkkelen. Ellers skriv ut 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 Hvordan sjekke om en nøkkel allerede finnes i en ordbok
Det kan være forskjellige måter å sjekke om en gitt nøkkel finnes i en Ordbok , har vi dekket følgende tilnærminger:
- Python Dictionary keys()
- Hvis og i
- Python ordbok har_nøkkel()
- Python ordbok få() Metode
- Python 'KeyError' unntakshåndtering
- Python List count()
1. Sjekk om nøkkelen eksisterer ved hjelp av keys()-metoden
keys()-metoden returnerer en liste over alle de tilgjengelige nøklene i ordboken. Med den innebygde metoden nøkler(), bruk if-setningen med 'in'-operatøren for å sjekke om nøkkelen er til stede i ordboken eller ikke.
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)> |
Produksjon:
Present, value = 200 Not present
Tidskompleksitet : O(n)
Auxiliary Space : O(1)
2. Sjekk om nøkkelen eksisterer ved å bruke if og in
Denne metoden bruker hvis uttalelse for å sjekke om den gitte nøkkelen finnes i ordboken.
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)> |
Produksjon:
Present, value = 200 Not present
Tidskompleksitet : O(n), der n er antall nøkkelverdi-par i ordboken.
Hjelpeplass : O(n), for å lagre nøklene og verdiene i ordboken.
3. Sjekk om nøkkelen eksisterer ved å bruke has_key()-metoden
Bruker har_nøkkel() metoden returnerer true hvis en gitt nøkkel er tilgjengelig i ordboken, ellers returnerer den en usann. Med den innebygde metoden has_key(), bruk if-setningen for å sjekke om nøkkelen finnes i ordboken.
Merk - has_keys()-metoden er fjernet fra Python3-versjonen. Derfor kan den bare brukes 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)> |
Produksjon:
('Present, value =', 200) Not present 4. Sjekk om nøkkelen eksisterer ved å bruke get()-metoden
Den innebygde metoden få() returnerer en liste over tilgjengelige nøkler i ordboken. Med keys(), bruk if-setningen for å sjekke om nøkkelen finnes i ordboken. Hvis nøkkelen er til stede, vil den skrives ut Present ellers skrives den ikke ut.
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'> )> |
Produksjon:
Present
5. Håndtering av «KeyError»-unntak i Python
Bruk prøv og unntatt for å håndtere KeyError-unntaket for å finne ut om en nøkkel er til stede i en diett. KeyError-unntaket genereres hvis nøkkelen du prøver å få tilgang til ikke er i ordboken.
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'> )> |
Produksjon:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary
6. Sjekk om nøkkelen eksisterer count() Metode
telle() metoden kan brukes til å sjekke om nøkkelen finnes i ordboken, hvis antallet av nøkkelen er 1 så er nøkkelen tilstede ellers, det er den 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)> |
Produksjon:
Present
I denne artikkelen diskuterte vi om 6 metoder som kan brukes for å sjekke om en gitt nøkkel finnes i ordboken. Du kan bruke hvilken som helst av metodene ovenfor for å sjekke om nøkkelen er til stede. Å se etter nøkler er veldig viktig, da en ordbok ikke kan inneholde dupliserte nøkler.
Lignende lesninger:
- Python | Få nøkkel fra verdi i ordbok
- Sjekk om gitte flere nøkler finnes i en ordbok
- Få ordboknøkler som en liste
- Test om nøkkel finnes i tuple keys ordbok