У Питхон-у, речник је неуређен скуп вредности података који се може користити за управљање и чување вредности попут мапе. За разлику од других типова података, који могу да носе само одређену вредност као ставка, Речник може да садржи пар кључ-вредност. Речник укључује пар кључ-вредност да би био ефикаснији. Полиморфизам није дозвољен у кључевима речника. Речник је направљен у Питхон-у тако што се низ уноса ставља у витичасте заграде и одваја их зарезом. Речник чува парове вредности, од којих је једна кључ, а друга елемент пара кључ: вредност.
У речнику, вредности могу бити било које структуре података и чак се могу реплицирати, али се не могу копирати кључеви који морају бити непроменљиви.
Провера кључа у речнику
У Питхон-у, речник је заиста корисна структура података која чува парове кључ-вредност. Добијање вредности одређеног кључа из речника је често потребно у програмирању; међутим, постојање одређеног кључа у речнику није увек загарантовано. Као резултат тога, добра је идеја да још једном проверите да ли кључ припада речнику пре него што преузмете његову вредност.
Коришћење хас_кеи()
Ако се дати кључ пронађе у речнику, хас_кеи() метод враћа труе; у супротном, враћа фалсе.
Питхон 3 је ово учинио застарелим. Овај метод се може користити ако користимо старију верзију од Питхон-а 3.
додавање стринга у јава
Наредба у наставку се може користити за потврду верзије Питхон-а у цмд-у.
код:
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')
Излаз:
--------------------------------------------------------------------------- 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'
Пошто је овај код извршен на Питхон 3, приказује грешку.
иф-ин изјава
Овај метод проверава да ли одређени кључ постоји унутар речника користећи иф-ин наредбу. Запошљавамо оператера за чланство ин , на овај начин. Овај оператор се користи за одређивање да ли једна вредност припада другој. То вам даје логички резултат.
код:
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')
Излаз:
Key exists in Animals
Сада, гледајући негативан случај.
код:
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')
Излаз:
There is no key '4' in Animals
Исто тако, тхе не у оператор може да се користи да се види да ли кључ у речнику не постоји. Међутим, имајте на уму да је ин операција је осетљива на велика и мала слова, па се уверите да су сви тастери иста или користите виши () или ниже() методе.
код:
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')
Излаз:
Key exists in Animals
Коришћење методе гет().
Метод гет() испоручује вредност повезаног кључа у речнику. Ако кључ није тамо, он или враћа Ноне или подразумевану вредност (ако је наведен). Можемо проследити кључ овом методу и видети да ли постоји у датом Питхон речнику.
Синтакса функције гет() је:
dict_name.get(keyname, value)
Овде, дицт наме је наслов речника који ћете користити.
Параметерс
код:
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')
Излаз:
Key exists in Animals
Сада узимајући негативан случај,
код:
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')
Излаз:
There is no key '5' in Animals
Када користите овај метод, имајте ово на уму да ако имамо кључ са том вредношћу Ноне, он неће бити тачан. Ако га немамо, ова техника ће бити довољна. Ако желимо да користимо вредности које враћа овај метод, можемо их сачувати у променљивој.
Коришћење тастера()
Тхе кључеви() функција и 'ин' оператор се могу користити да се види да ли кључ постоји у речнику. Тхе кључеви() метода враћа листу кључева у речнику, а наредба 'иф, ин' проверава да ли се наведени кључ налази на листи. Враћа Труе ако кључ постоји; у супротном, враћа Фалсе.
Улазни
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')
Излаз:
Key exists in Animals
Проверите да ли Речник има више кључева.
У једној изјави такође можемо да проверимо да ли речник садржи више кључева. Можемо користити све() функција у комбинацији са разумевањем листе да видите да ли речник садржи много или све кључеве.
код:
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')
Излаз:
Not all the keys are there in Animals
Прегледајте листу речника да видите да ли кључ постоји
Листа речника је збирка речника која се може наћи у листи.
- лист_оф_дицтионари - листа са три објекта речника у њој.
- 'б' у кључевима за кључеве у листи речника - креирање листе кључева унутар листе речника користећи разумевање листе. Затим, на листи, погледајте да ли је један доступан. Вратиће листу са Тачним за кључеве који су 'б' и Фалсе за кључеве који нису један.
- ани() - Верификује листу Тачно/Нетачно обезбеђену разумевањем листе. Тастер 'б' је присутан у листи речника ако садржи бар једно Тачно. Блок 'иф' се затим извршава након што врати Труе. У супротном, извршава се блок 'елсе'.
код:
кашичица против супене кашике
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')
Излаз:
Key exists in list_of_dictionaries
Проверите да ли је кључ у ЈСОН речнику
ЈСОН је скраћеница од 'Јавасцрипт Објецт Нотатион', и то је пар кључ-вредност који чува вредности.
Тхе јсон.лоадс() метода се може користити за прављење речника из ЈСОН текста.
Затим, као што се види у наставку, можемо користити 'иф и ин' да видимо да ли је кључ присутан у ЈСОН речнику.
Улазни
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')
Излаз:
Key is present in the JASON dictionary
Закључак
Да резимирамо, научили смо како да проверимо да ли се кључ налази у речнику на неколико начина. Такође смо научили како да применимо те методе на различите инстанце да бисмо видели да ли је кључ у речнику. Такође смо видели како свака опција захтева различито време.