El diccionari de Python no pot contenir claus duplicades, per la qual cosa és molt important comprovar si una clau ja està present al diccionari. Si assigneu accidentalment un valor de clau duplicat, el nou valor sobreescriurà l'antic.
Per tant, en un diccionari determinat, la nostra tasca és comprovar si la clau donada ja existeix en un diccionari o no. Si està present, imprimiu el present i el valor de la clau. En cas contrari, imprimiu No present.
Exemple
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> Com comprovar si una clau ja existeix en un diccionari
Hi pot haver diferents maneres de comprovar si una clau determinada existeix en a Diccionari , hem cobert els enfocaments següents:
- Tecles de diccionari Python()
- Si i en
- Diccionari Python té_clau()
- Diccionari Python aconseguir() Mètode
- Gestió d'excepcions 'KeyError' de Python
- Recompte de llista de Python ()
1. Comproveu si la clau existeix mitjançant el mètode keys().
El mètode keys() retorna una llista de totes les claus disponibles al diccionari. Amb el mètode Inbuilt claus(), utilitzeu la instrucció if amb l'operador 'in' per comprovar si la clau està present al diccionari o no.
Python 3
# 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)> |
>
>
Sortida:
configuració del navegador d'Internet
Present, value = 200 Not present>
Complexitat temporal : O(n)
Espai Auxiliar : O(1)
2. Comproveu si la clau existeix mitjançant if i in
Aquest mètode utilitza el declaració si per comprovar si la clau donada existeix al diccionari.
Python 3
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)> |
>
>
Sortida:
Present, value = 200 Not present>
Complexitat temporal : O(n), on n és el nombre de parells clau-valor al diccionari.
Espai auxiliar : O(n), per emmagatzemar les claus i els valors al diccionari.
3. Comproveu si la clau existeix mitjançant el mètode has_key().
Utilitzant el té_clau() El mètode retorna true si una clau donada està disponible al diccionari, en cas contrari, retorna un false. Amb el mètode Inbuilt has_key(), utilitzeu la instrucció if per comprovar si la clau està present al diccionari.
Nota - El mètode has_keys() s'ha eliminat de la versió de Python3. Per tant, només es pot utilitzar en 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)> |
>
>
Sortida:
('Present, value =', 200) Not present> 4. Comproveu si la clau existeix mitjançant el mètode get().
El mètode Inbuilt aconseguir() retorna una llista de claus disponibles al diccionari. Amb keys(), utilitzeu la instrucció if per comprovar si la clau està present al diccionari. Si la clau està present, imprimirà Present, en cas contrari, imprimirà Not Present.
Python 3
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'>)> |
què és ymail
>
>
Sortida:
Present>
5. Gestió de l'excepció 'KeyError' a Python
Ús prova i excepte per gestionar l'excepció KeyError per determinar si hi ha una clau en una dieta. L'excepció KeyError es genera si la clau a la qual esteu intentant accedir no es troba al diccionari.
Python 3
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'>)> |
>
>
Sortida:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary>
6. Comproveu si la clau existeix count() Mètode
comptar () El mètode es pot utilitzar per comprovar si la clau existeix al diccionari, si el recompte de la clau és 1, la clau està present, sinó no.
Python 3
# 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)> |
>
memòria de registre
>
Sortida:
Present>
En aquest article, hem parlat sobre 6 mètodes que es poden utilitzar per comprovar si una clau determinada existeix al diccionari. Podeu utilitzar qualsevol dels mètodes anteriors per comprovar si la clau està present. Comprovar les claus és molt important, ja que un diccionari no pot contenir claus duplicades.
Lectures similars:
- Python | Obteniu la clau del valor al diccionari
- Comproveu si en un diccionari hi ha diverses claus donades
- Obteniu les claus del diccionari com a llista
- Comproveu si la clau existeix al diccionari de claus tuples