logo

Cum să verificați dacă o cheie există într-un dicționar Python

În Python, un dicționar este un set neordonat de valori de date care poate fi folosit pentru a gestiona și stoca valori precum o hartă. Spre deosebire de alte tipuri de date, care pot conține doar o anumită valoare ca element, Dicționarul poate conține o pereche cheie-valoare. Dicționarul include o pereche cheie-valoare pentru a-l face mai eficient. Polimorfismul nu este permis în cheile de dicționar. Un dicționar este construit în Python prin includerea unei succesiuni de intrări între acolade și separându-le cu o virgulă. Dicționarul stochează cupluri de valori, dintre care una este Cheia și cealaltă este elementul pereche Cheie:valoare.

Într-un dicționar, valorile pot avea orice structură de date și pot fi chiar replicate, dar cheile care trebuie să fie imuabile nu pot fi copiate.

cum să împerechezi căștile beats

Checking a Key în dicţionar

În Python, un dicționar este într-adevăr o structură de date utilă care stochează perechi cheie-valoare. Obținerea valorii unei chei specifice dintr-un dicționar este adesea necesară în programare; cu toate acestea, existența unei anumite chei în dicționar nu este cu adevărat garantată întotdeauna. Ca rezultat, este o idee bună să verificați din nou dacă o cheie aparține dicționarului înainte de a-i recupera valoarea.

Folosind has_key()

Dacă o anumită cheie este găsită în dicționar, are_key() metoda returnează adevărat; altfel, se întoarce false.

Python 3 a făcut acest lucru depreciat. Această metodă poate fi folosită dacă rulăm pe o versiune mai veche decât Python 3.

Comanda de mai jos poate fi folosită pentru a confirma versiunea Python în cmd.

Cod:

 import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Ieșire:

 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key' 

Deoarece acest cod a fost executat pe Python 3, afișează o eroare.

găsește iphone-ul meu Android

Declarație if-in

Această metodă verifică dacă o anumită cheie există în dicționar folosind instrucțiunea if-in. Angajăm operatorul de membru în , în acest mod. Acest operator este folosit pentru a determina dacă o valoare aparține alteia. Vă oferă un rezultat boolean.

Cod:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Ieșire:

 Key exists in Animals 

Acum, uitându-ne la cazul negativ.

Cod:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Ieșire:

 There is no key '4' in Animals 

La fel, cel nu în operator ar putea fi folosit pentru a vedea dacă o cheie într-un dicționar nu există. Cu toate acestea, rețineți că în operațiunea este sensibilă la majuscule și minuscule, așa că fie asigurați-vă că toate tastele sunt aceleași majuscule, fie utilizați superior() sau inferior() metode.

Cod:

 Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Ieșire:

 Key exists in Animals 

Folosind metoda get().

Metoda get() furnizează valoarea cheii aferente într-un dicționar. Dacă cheia nu este acolo, fie returnează Nimic, fie o valoare implicită (dacă a fost furnizată una). Putem transmite o cheie acestei metode și vedem dacă există în dicționarul Python dat.

Sintaxa funcției get() este:

 dict_name.get(keyname, value) 

Aici, numele dict este titlul dicționarului pe care îl veți folosi.

Parametrii

    Nume cheie-Numele cheie al valorii pe care doriți să-l returnați.valoare-Dacă cheia nu există, această valoare este furnizată ca opțiune.

Cod:

șir în java
 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Ieșire:

 Key exists in Animals 

Acum luând un caz negativ,

Cod:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Ieșire:

 There is no key '5' in Animals 

Când utilizați această metodă, vă rugăm să rețineți că, dacă avem o cheie cu acea valoare None, nu va fi exactă. Dacă nu avem unul, această tehnică va fi suficientă. Dacă dorim să folosim valorile returnate de această metodă, le putem salva într-o variabilă.

s în python

Utilizarea tastelor()

The chei() funcția și operatorul „in” pot fi folosite pentru a vedea dacă o cheie există într-un dicționar. The chei() metoda returnează o listă de chei în dicționar, iar instrucțiunea „if, in” verifică dacă cheia furnizată este în listă. Returnează True dacă cheia există; în caz contrar, returnează False.

Intrare

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Ieșire:

 Key exists in Animals 

Verificați dacă dicționarul are chei multiple.

Într-o declarație, putem verifica și dacă dicționarul conține mai multe chei. Putem folosi toate() funcția în combinație cu lista de înțelegere pentru a vedea dacă dicționarul conține multe sau toate cheile.

Cod:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals') 

Ieșire:

 Not all the keys are there in Animals 

Examinați Lista de dicționare pentru a vedea dacă cheia există

O listă de dicționare este o colecție de dicționare care pot fi găsite într-o listă.

tutorial limbaj de programare java
  • list_of_dictionary - o listă cu trei obiecte de dicționar în ea.
  • „b” în cheile pentru cheile din lista de dicționar - producerea listei de chei din lista de dicționare folosind lista de înțelegere. Apoi, pe listă, vezi dacă unul este disponibil. Va returna o listă cu True pentru cheile care sunt „b” și False pentru cheile care nu sunt una.
  • any() - Verifică lista True/False furnizată de lista de înțelegere. Tasta „b” este prezentă în lista de dicționar dacă include cel puțin un adevărat. Blocul „dacă” este apoi executat după ce returnează True. În caz contrar, blocul „else” este executat.

Cod:

 list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries') 

Ieșire:

 Key exists in list_of_dictionaries 

Verificați dacă cheia este în dicționarul JSON

JSON înseamnă „Javascript Object Notation” și este o pereche cheie-valoare care salvează valori.

The json.loads() metoda poate fi folosită pentru a construi un dicționar dintr-un text JSON.

Apoi, după cum se vede mai jos, putem folosi „dacă și în” pentru a vedea dacă cheia este prezentă în dicționarul JSON.

Intrare

 import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary') 

Ieșire:

 Key is present in the JASON dictionary 

Concluzie

Pentru a recapitula, am învățat cum să verificăm dacă cheia este în dicționar folosind mai multe moduri. Am învățat, de asemenea, cum să aplicăm acele metode în diferite instanțe pentru a vedea dacă cheia este în dicționar. De asemenea, am văzut cum fiecare opțiune necesită o perioadă diferită de timp.