Het Python-woordenboek kan geen dubbele sleutels bevatten, dus het is van cruciaal belang om te controleren of een sleutel al in het woordenboek aanwezig is. Als u per ongeluk een dubbele sleutelwaarde toewijst, overschrijft de nieuwe waarde de oude.
Dus in een bepaald woordenboek is het onze taak om te controleren of de gegeven sleutel al in een woordenboek bestaat of niet. Indien aanwezig, print het heden en de waarde van de sleutel. Anders afdrukken Niet aanwezig.
Voorbeeld
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> Hoe u kunt controleren of een sleutel al in een woordenboek bestaat
Er kunnen verschillende manieren zijn om te controleren of een bepaalde sleutel bestaat in een Woordenboek hebben we de volgende benaderingen besproken:
- Python-woordenboeksleutels()
- Als en binnen
- Python-woordenboek heeft_sleutel()
- Python-woordenboek krijgen() Methode
- Afhandeling van uitzonderingen in Python ‘KeyError’
- Aantal Python-lijst()
1. Controleer of de sleutel bestaat met behulp van de methode Keys().
De methode Keys() retourneert een lijst met alle beschikbare sleutels in het woordenboek. Met de ingebouwde methode sleutels(), gebruik de if-instructie met de ‘in’-operator om te controleren of de sleutel aanwezig is in het woordenboek of niet.
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)> |
>
>
Uitgang:
Present, value = 200 Not present>
Tijdcomplexiteit : Op)
Hulpruimte : O(1)
2. Controleer of de sleutel bestaat met if en in
Deze methode maakt gebruik van de als verklaring om te controleren of de opgegeven sleutel in het woordenboek voorkomt.
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)> |
>
>
Uitgang:
Present, value = 200 Not present>
Tijdcomplexiteit : O(n), waarbij n het aantal sleutelwaardeparen in het woordenboek is.
Hulpruimte : O(n), om de sleutels en waarden in het woordenboek op te slaan.
3. Controleer of de sleutel bestaat met behulp van de has_key()-methode
De ... gebruiken heeft_sleutel() methode retourneert true als een bepaalde sleutel beschikbaar is in het woordenboek, anders retourneert het false. Met de ingebouwde methode has_key() gebruikt u de if-instructie om te controleren of de sleutel aanwezig is in het woordenboek.
Opmerking - has_keys() methode is verwijderd uit de Python3-versie. Daarom kan het alleen in Python2 worden gebruikt.
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)> |
>
>
Uitgang:
('Present, value =', 200) Not present> 4. Controleer of de sleutel bestaat met behulp van de get()-methode
De ingebouwde methode krijgen() retourneert een lijst met beschikbare sleutels in het woordenboek. Gebruik bij key(s) de if-instructie om te controleren of de sleutel aanwezig is in het woordenboek. Als de sleutel aanwezig is, wordt Aanwezig afgedrukt, anders wordt Niet Aanwezig afgedrukt.
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'>)> |
database met zuureigenschappen
>
>
Uitgang:
Present>
5. Omgaan met ‘KeyError’-uitzondering in Python
Gebruik proberen en behalve om de KeyError-uitzondering af te handelen om te bepalen of een sleutel aanwezig is in een dieet. De KeyError-uitzondering wordt gegenereerd als de sleutel die u probeert te openen niet in het woordenboek staat.
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'>)> |
>
>
Uitgang:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary>
6. Controleer of de sleutel bestaat count() Methode
graaf() methode kan worden gebruikt om te controleren of de sleutel in het woordenboek bestaat. Als het aantal van de sleutel 1 is, is de sleutel aanwezig, anders niet.
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)> |
>
>
Uitgang:
Present>
In dit artikel hebben we zes methoden besproken die kunnen worden gebruikt om te controleren of een bepaalde sleutel in het woordenboek voorkomt. U kunt een van de bovenstaande methoden gebruiken om te controleren of de sleutel aanwezig is. Het controleren op sleutels is erg belangrijk omdat een woordenboek geen dubbele sleutels kan bevatten.
Soortgelijke teksten:
- Python | Haal de sleutel uit de waarde in Woordenboek
- Controleer of er meerdere sleutels in een woordenboek voorkomen
- Krijg woordenboeksleutels als een lijst
- Test of de sleutel bestaat in het woordenboek met tupelsleutels