logo

Tjek, om en given nøgle allerede findes i en Python-ordbog

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: