logo

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'>)>

java jämförbar

>

>

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: