Kontrollera om en given nyckel redan finns i en Python-ordbok
Python-ordboken kan inte innehålla dubbletter av nycklar så det är mycket viktigt att kontrollera om en nyckel redan finns i ordboken. Om du av misstag tilldelar ett duplicerat nyckelvärde kommer det nya värdet att skriva över det gamla.
Så i en given ordbok är vår uppgift att kontrollera om den givna nyckeln redan finns i en ordbok eller inte. Om det finns, skriv ut nuvarande och nyckelns värde. Annars skriv ut Ej närvarande.
Exempel
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 Hur man kontrollerar om en nyckel redan finns i en ordbok
Det kan finnas olika sätt att kontrollera om en given nyckel finns i en Lexikon , har vi täckt följande tillvägagångssätt:
- Python Dictionary-nycklar()
- Om och in
- Python ordbok has_key()
- Python ordbok skaffa sig() Metod
- Python 'KeyError' undantagshantering
- Python List count()
1. Kontrollera om nyckeln finns med metoden keys().
keys()-metoden returnerar en lista över alla tillgängliga nycklar i ordboken. Med den inbyggda metoden nycklar(), använd if-satsen med 'in'-operatorn för att kontrollera om nyckeln finns i ordboken eller inte.
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
Tidskomplexitet :O(n)
Hjälputrymme : O(1)
2. Kontrollera om nyckeln finns med if och in
Denna metod använder om uttalande för att kontrollera om den givna nyckeln finns 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)> |
Produktion:
Present, value = 200 Not present
Tidskomplexitet : O(n), där n är antalet nyckel-värdepar i ordboken.
Hjälputrymme : O(n), för att lagra nycklar och värden i ordboken.
3. Kontrollera om nyckeln finns med metoden has_key().
Använda has_key() metod returnerar true om en given nyckel är tillgänglig i ordboken, annars returnerar den en false. Med den inbyggda metoden has_key(), använd if-satsen för att kontrollera om nyckeln finns i ordboken.
Notera - has_keys()-metoden har tagits bort från Python3-versionen. Därför kan den endast användas i Python2.
Pytonorm
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. Kontrollera om nyckeln finns med metoden get().
Den inbyggda metoden skaffa sig() returnerar en lista över tillgängliga nycklar i ordboken. Med keys(), använd if-satsen för att kontrollera om nyckeln finns i ordboken. Om nyckeln finns kommer den att skriva ut Present annars kommer den att skrivas ut Ej närvarande.
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'> )> |
Produktion:
Present
5. Hantera 'KeyError'-undantag i Python
Använda sig av försök och utom för att hantera KeyError-undantaget för att avgöra om en nyckel finns i en diet. KeyError-undantaget genereras om nyckeln du försöker komma åt inte finns 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'> )> |
Produktion:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary
6. Kontrollera om nyckeln finns med count() Metod
räkna() metoden kan användas för att kontrollera om nyckeln finns i ordboken, om nyckeltalet är 1 så finns nyckeln annars, det är den inte.
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 den här artikeln diskuterade vi cirka 6 metoder som kan användas för att kontrollera om en given nyckel finns i ordboken. Du kan använda någon av ovanstående metoder för att kontrollera om nyckeln finns. Att leta efter nycklar är mycket viktigt eftersom en ordbok inte kan innehålla dubbletter av nycklar.
Liknande läsningar:
- Python | Få nyckel från värde i ordbok
- Kontrollera om det finns flera nycklar i en ordbok
- Få ordboksnycklar som en lista
- Testa om nyckel finns i tuple keys ordbok