logo

Kako preveriti, ali obstaja ključ v slovarju Python

V Pythonu je slovar neurejen nabor vrednosti podatkov, ki se lahko uporablja za upravljanje in shranjevanje vrednosti, kot je zemljevid. Za razliko od drugih podatkovnih vrst, ki lahko nosijo samo določeno vrednost kot element, lahko slovar vsebuje par ključ-vrednost. Slovar vključuje par ključ-vrednost, da je bolj učinkovit. Polimorfizem v slovarskih ključih ni dovoljen. Slovar je zgrajen v Pythonu tako, da zaporedje vnosov zapremo v zavite oklepaje in jih ločimo z vejico. Slovar shranjuje par vrednosti, od katerih je ena ključ, druga pa element para ključ:vrednost.

V slovarju so lahko vrednosti katere koli podatkovne strukture in jih je mogoče celo podvojiti, vendar ključev ni mogoče kopirati, saj morajo biti nespremenljivi.

Preverjanje ključa v slovarju

V Pythonu je slovar res uporabna podatkovna struktura, ki shranjuje pare ključ-vrednost. Pri programiranju je pogosto potrebno pridobiti vrednost določenega ključa iz slovarja; vendar obstoj določenega ključa v slovarju ni vedno zagotovljen. Zato je dobro, da še enkrat preverite, ali ključ pripada slovarju, preden pridobite njegovo vrednost.

Uporaba has_key()

Če je dani ključ najden v slovarju, se has_key() metoda vrne true; sicer vrne false.

Python 3 je to opustil. To metodo lahko uporabimo, če uporabljamo starejšo različico kot Python 3.

Spodnji ukaz lahko uporabite za potrditev različice Python v cmd.

Koda:

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

Izhod:

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

Ker je bila ta koda izvedena v Pythonu 3, prikazuje napako.

Izjava if-in

Ta metoda preveri, ali določen ključ obstaja znotraj slovarja z uporabo stavka if-in. Zaposleni smo operater članstva v , na ta način. Ta operator se uporablja za ugotavljanje, ali ena vrednost pripada drugi. Daje logični rezultat.

Koda:

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

Izhod:

 Key exists in Animals 

Zdaj pa poglejmo negativni primer.

Koda:

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

Izhod:

 There is no key '4' in Animals 

Prav tako je ni notri lahko uporabite, da vidite, ali ključ v slovarju ne obstaja. Vendar ne pozabite, da je v delovanje razlikuje med velikimi in malimi črkami, zato se prepričajte, da so vse tipke enake velikim in velikim črkam, ali uporabite višje() oz nižje () metode.

Koda:

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

Izhod:

 Key exists in Animals 

Uporaba metode get().

Metoda get() dostavi vrednost povezanega ključa v slovarju. Če ključa ni, vrne None ali privzeto vrednost (če je bila navedena). Tej metodi lahko posredujemo ključ in preverimo, ali obstaja v danem slovarju Python.

Sintaksa funkcije get() je:

kakšna je velikost mojega monitorja
 dict_name.get(keyname, value) 

Tukaj je dict name naslov slovarja, ki ga boste uporabljali.

Parametri

    Keyname-Ime ključa vrednosti, ki ga želite vrniti.vrednost-Če ključ ne obstaja, je ta vrednost podana kot možnost.

Koda:

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

Izhod:

 Key exists in Animals 

Zdaj vzamemo negativen primer,

Koda:

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

Izhod:

 There is no key '5' in Animals 

Ko uporabljate to metodo, upoštevajte, da če imamo ključ s to vrednostjo Brez, ne bo točen. Če ga nimamo, bo ta tehnika zadostovala. Če želimo uporabiti vrednosti, ki jih vrne ta metoda, jih lahko shranimo v spremenljivko.

Uporaba tipk ()

The ključi() funkcijo in operator 'in' lahko uporabite za preverjanje, ali obstaja ključ v slovarju. The ključi() metoda vrne seznam ključev v slovarju, stavek 'if, in' pa preveri, ali je navedeni ključ na seznamu. Vrne True, če ključ obstaja; sicer vrne False.

Vnos

zamenjaj barvo v gimp
 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') 

Izhod:

 Key exists in Animals 

Preverite, ali ima slovar več ključev.

V enem stavku lahko tudi preverimo, ali slovar vsebuje več ključev. Lahko uporabimo vse() funkcijo v kombinaciji z razumevanjem seznama, da vidite, ali slovar vsebuje veliko ali vse ključe.

Koda:

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

Izhod:

 Not all the keys are there in Animals 

Preglejte seznam slovarjev, da vidite, ali ključ obstaja

Seznam slovarjev je zbirka slovarjev, ki jih je mogoče najti na seznamu.

  • list_of_dictionary - seznam s tremi slovarskimi objekti v njem.
  • 'b' v ključih za ključe na seznamu slovarja - ustvarjanje seznama ključev znotraj seznama slovarjev z uporabo razumevanja seznama. Nato na seznamu preverite, ali je na voljo. Vrnil bo seznam s True za ključe, ki so 'b' in False za ključe, ki niso ena.
  • any() - Preveri seznam True/False, ki ga zagotavlja razumevanje seznama. Ključ 'b' je prisoten na seznamu slovarjev, če vključuje vsaj eno True. Blok 'if' se nato izvede, potem ko vrne True. V nasprotnem primeru se izvede blok 'else'.

Koda:

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

Izhod:

 Key exists in list_of_dictionaries 

Preverite, ali je ključ v slovarju JSON

JSON pomeni 'Javascript Object Notation' in je par ključ-vrednost, ki shranjuje vrednosti.

The json.loads() metodo je mogoče uporabiti za izdelavo slovarja iz besedila JSON.

Nato lahko, kot je prikazano spodaj, uporabimo 'if in in', da preverimo, ali je ključ prisoten v slovarju JSON.

Vnos

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

Izhod:

 Key is present in the JASON dictionary 

Zaključek

Če povzamemo, naučili smo se, kako na več načinov preveriti, ali je ključ v slovarju. Naučili smo se tudi, kako uporabiti te metode za različne primere, da bi videli, ali je ključ v slovarju. Videli smo tudi, kako vsaka možnost zahteva različno količino časa.