Речник је збирка кључ/вредност парови у Питхон-у. Кључеви речника се могу користити за приступ његовим вредностима. Међутим, постоје случајеви када желите да издвојите парове кључ-вредност и доделите их променљивим. Овде долази до распакивања речника.
Да бисте распаковали речник у Питхон-у, можете користити следећу синтаксу:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city)
Излаз:
John 30 New York
У овом примеру имамо речник ми_дицт са три пара кључ/вредност. Да бисмо издвојили вредности из речника и доделили их променљивим, користимо вредности() метод речника. Вредности речника су представљене у објекту налик листи који овај метод враћа. Вредности се накнадно додељују одређеним променљивим помоћу оператор за распакивање (*). Пошто се поклапа са редоследом у коме се вредности појављују у вредности() метода, редослед којим додељујемо променљиве је пресудан.
Имајте на уму да се број променљивих и вредности речника морају подударати. Ако покушате да распакујете речник са више или мање променљивих од вредности, добићете а ВалуеЕррор .
Такође можете да распакујете речник у именоване варијабле користећи синтаксу за распакивање речника:
датотека екстензије јава
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict['name'], my_dict['age'], my_dict['city'] print(name) print(age) print(city)
Излаз:
John 30 New York
У овом примеру приступамо вредностима речника користећи њихове кључеве и додељујемо их именованим променљивама. Када треба да издвојите одређене вредности из речника, овај метод је од помоћи.
Коначно, можете користити ** оператор да распакујете речник у именоване аргументе приликом позивања функције. На пример:
def print_person(name, age, city): print(f'{name} is {age} years old and lives in {city}') my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} print_person(**my_dict)
Излаз:
John is 30 years old and lives in New York
У овом примеру дефинишемо функцију принт_персон за то су потребна три аргумента: име година , и град . Након тога правимо речник ми_дицт који садрже вредности ових аргумената. Користимо речник оператер за распакивање ** да проследи вредности из речника као именоване аргументе функцији. Резултат је исти као и позивање принт_персон('Јован', 30, 'Њујорк') .