logo

Kaip patikrinti, ar Python žodyne yra raktas

Python žodynas yra nesutvarkytas duomenų reikšmių rinkinys, kurį galima naudoti tvarkyti ir saugoti reikšmes, pavyzdžiui, žemėlapį. Skirtingai nuo kitų duomenų tipų, kurie gali turėti tik konkrečią reikšmę kaip elementą, žodyne gali būti rakto ir reikšmių pora. Kad jis būtų efektyvesnis, žodyne yra raktų ir reikšmių pora. Polimorfizmas neleidžiamas žodyno raktuose. „Python“ programoje žodynas sukuriamas įrašų eilę įtraukiant į riestinius skliaustus ir atskiriant juos kableliais. Žodyne saugomos reikšmių poros, iš kurių viena yra raktas, o kita – elementas Key:value poros.

Žodyne reikšmės gali būti bet kokios duomenų struktūros ir netgi gali būti atkartotos, tačiau negalima kopijuoti raktų, kurie turi būti nekintami.

Rakto tikrinimas žodyne

Python žodynas iš tiesų yra naudinga duomenų struktūra, kurioje saugomos raktų ir reikšmių poros. Programuojant dažnai reikia gauti konkretaus rakto vertę iš žodyno; tačiau konkretaus rakto buvimas žodyne tikrai ne visada garantuojamas. Todėl prieš nuskaitant jo vertę verta dar kartą patikrinti, ar raktas priklauso žodynui.

Naudojant has_key()

Jei duotas raktas randamas žodyne, has_key() metodas grąžina true; kitu atveju grąžinama klaidinga.

Python 3 tai panaikino. Šis metodas gali būti naudojamas, jei naudojame senesnę nei Python 3 versiją.

Toliau pateikta komanda gali būti naudojama norint patvirtinti Python versiją cmd.

Kodas:

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

Išvestis:

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

Kadangi šis kodas buvo paleistas Python 3, rodoma klaida.

10 iš 60

jei-in pareiškimas

Šis metodas patikrina, ar žodyne yra tam tikras raktas, naudojant if-in sakinį. Pas mus dirba narystės operatorius in , šiuo būdu. Šis operatorius naudojamas nustatyti, ar viena reikšmė priklauso kitai. Tai suteikia loginį rezultatą.

Kodas:

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

Išvestis:

 Key exists in Animals 

Dabar žiūrint į neigiamą atvejį.

Kodas:

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

Išvestis:

 There is no key '4' in Animals 

Taip pat, ne į operatorius gali būti naudojamas norint pamatyti, ar žodyne nėra rakto. Tačiau atminkite, kad in operacijos metu skiriamos didžiosios ir mažosios raidės, todėl įsitikinkite, kad visi klavišai yra vienodi, arba naudokite didesnis () arba žemesnis () metodus.

Kodas:

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

Išvestis:

java ryšys
 Key exists in Animals 

Naudojant get() metodą

Metodas get() pateikia susijusio rakto reikšmę žodyne. Jei rakto nėra, jis grąžina Nėra arba numatytąją reikšmę (jei tokia buvo pateikta). Galime perduoti šio metodo raktą ir pamatyti, ar jis egzistuoja pateiktame Python žodyne.

Funkcijos get() sintaksė yra tokia:

 dict_name.get(keyname, value) 

Čia dikto pavadinimas yra žodyno, kurį naudosite, pavadinimas.

Parametrai

    rakto pavadinimas-Reikšmės rakto pavadinimas, kurį norite grąžinti.vertė-Jei rakto nėra, ši reikšmė pateikiama kaip parinktis.

Kodas:

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

Išvestis:

 Key exists in Animals 

Dabar paėmus neigiamą atvejį,

Kodas:

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

Išvestis:

 There is no key '5' in Animals 

Naudodami šį metodą, atminkite, kad jei turime raktą su tokia reikšme Nėra, jis nebus tikslus. Jei neturime, užteks šios technikos. Jei norime naudoti šiuo metodu grąžintas reikšmes, galime jas išsaugoti kintamajame.

nuskaityti.nextstring java

Naudojant raktus ()

The raktai() funkcija ir operatorius „in“ gali būti naudojami norint pamatyti, ar žodyne yra raktas. The raktai() metodas grąžina žodyne esančių raktų sąrašą, o sakinys „if, in“ patikrina, ar pateiktas raktas yra sąraše. Jis grąžina True, jei raktas yra; kitu atveju jis grąžina False.

Įvestis

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

Išvestis:

 Key exists in Animals 

Patikrinkite, ar žodyne yra keli klavišai.

Viename teiginyje taip pat galime patikrinti, ar žodyne yra keli raktai. Mes galime naudoti visi () funkcija kartu su sąrašo supratimu, kad pamatytumėte, ar žodyne yra daug ar visi klavišai.

Kodas:

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

Išvestis:

 Not all the keys are there in Animals 

Išnagrinėkite žodynų sąrašą, kad pamatytumėte, ar raktas egzistuoja

Žodynų sąrašas yra žodynų rinkinys, kurį galima rasti sąraše.

  • list_of_dictionary – sąrašas su trimis žodyno objektais.
  • „b“ žodyno sąrašo raktų raktuose – žodynų sąrašo raktų sąrašo sudarymas naudojant sąrašo supratimą. Tada sąraše pažiūrėkite, ar toks yra. Jis pateiks sąrašą su True raktams, kurie yra 'b', ir False, jei raktai nėra vienas.
  • any() – patikrina sąrašą True/False, pateiktą suprantant sąrašą. Raktas „b“ yra žodyno sąraše, jei jame yra bent vienas „True“. Blokas „jei“ vykdomas po to, kai grąžina „True“. Kitu atveju bus vykdomas blokas „kita“.

Kodas:

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

Išvestis:

ipconfig, skirta ubuntu
 Key exists in list_of_dictionaries 

Patikrinkite, ar raktas yra JSON žodyne

JSON reiškia „Javascript Object Notation“ ir yra rakto-reikšmių pora, kuri išsaugo vertes.

The json.loads() metodas gali būti naudojamas kuriant žodyną iš JSON teksto.

Tada, kaip matyti toliau, galime naudoti „if and in“, kad pamatytume, ar raktas yra JSON žodyne.

Įvestis

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

Išvestis:

 Key is present in the JASON dictionary 

Išvada

Apibendrinant, sužinojome, kaip patikrinti, ar raktas yra žodyne, naudojant kelis būdus. Taip pat sužinojome, kaip tuos metodus taikyti įvairiems atvejams, kad pamatytume, ar raktas yra žodyne. Taip pat matėme, kaip kiekviena parinktis užtrunka skirtingą laiką.