У овом чланку ћете сазнати о угнежђеном речнику у Питхону. Прецизније, научићете да креирате угнежђени речник, приступите елементима, измените их и тако даље помоћу примера.
У Питхону, речник је неуређена колекција предмета. На пример:
дицтионари = ('кеи': 'валуе', 'кеи_2': 'валуе_2')
Овде речник има key:value
пар затворен у витичастим заградама ()
.
Да бисте сазнали више о речнику, посетите Питхон Дицтионари.
Шта је угнежђени речник у Питхону?
У Питхону, угнежђени речник је речник унутар речника. То је збирка речника у један речник.
нестед_дицт = ('дицтА': ('кеи_1': 'валуе_1'), 'дицтБ': ('кеи_2': 'валуе_2'))
Овде је нестед_дицт угнежђени речник са речником dictA
и dictB
. То су два речника од којих сваки има свој кључ и вредност.
Направите угнежђени речник
Створићемо речник људи у речнику.
Пример 1: Како направити угнежђени речник
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Када покренемо горњи програм, он ће дати:
(1: ('наме': 'Јохн', 'аге': '27', 'сек': 'Мале'), 2: ('наме': 'Марие', 'аге': '22', 'сек ': 'Женско'))
У горњем програму, људи је угнежђени речник. Интерни речник 1
и 2
додељује се људима. Овде, како је речник имају кључ name
, age
, sex
са различитим вредностима. Сада исписујемо резултат људи.
Приступ елементима угнежђеног речника
Да бисмо приступили елементу угнежђеног речника, користимо ()
синтаксу индексирања у Питхону.
Пример 2: Приступите елементима користећи синтаксу ()
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people(1)('name')) print(people(1)('age')) print(people(1)('sex'))
Када покренемо горњи програм, он ће дати:
Јован 27 мушки
У горе наведеном програму, вредност кључа исписујемо name
помоћу тј. people(1)('name')
Из интерног речника 1
. Слично томе, исписујемо вредност age
и sex
један по један.
Додајте елемент у угнежђени речник
Пример 3: Како променити или додати елементе у угнежђени речник?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) people(3) = () people(3)('name') = 'Luna' people(3)('age') = '24' people(3)('sex') = 'Female' people(3)('married') = 'No' print(people(3))
Када покренемо горњи програм, он ће дати:
('име': 'Луна', 'старост': '24', 'пол': 'Женско', 'ожењено': 'Не')
У горњем програму креирамо празан речник 3
унутар речника људи.
Затим додајемо key:value
пар, тј. people(3)('Name') = 'Luna'
У речник 3
. Слично томе, радимо ово за кључ age
, sex
и то married
један по један. Када одштампамо people(3)
, добијамо key:value
парове речника 3
.
Пример 4: Додајте још један речник у угнежђени речник
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No')) people(4) = ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes') print(people(4))
Када покренемо горњи програм, он ће дати:
('име': 'Петар', 'старост': '29', 'пол': 'Мушко', 'ожењен': 'Да')
У горњем програму додељујемо речник дословце people(4)
. Буквални имају кључеве name
, age
и sex
са одговарајућим вредностима. Затим исписујемо people(4)
, да бисмо видели да је речник 4
додат у угнежђене људе из речника.
Избришите елементе из угнежђеног речника
У Питхону користимо наредбу „дел“ за брисање елемената из угнежђеног речника.
Пример 5: Како избрисати елементе из угнежђеног речника?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes')) del people(3)('married') del people(4)('married') print(people(3)) print(people(4))
Када покренемо горњи програм, он ће дати:
('наме': 'Луна', 'аге': '24', 'сек': 'Фемале') ('наме': 'Петер', 'аге': '29', 'сек': 'Мале')
У горе наведеном програму бришемо key:value
парове married
из интерног речника 3
и 4
. Затим исписујемо people(3)
и people(4)
да бисмо потврдили промене.
Пример 6: Како избрисати речник из угнежђеног речника?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male')) del people(3), people(4) print(people)
Када покренемо горњи програм, он ће дати:
(1: ('наме': 'Јохн', 'аге': '27', 'сек': 'Мале'), 2: ('наме': 'Марие', 'аге': '22', 'сек ': 'Женско'))
У горњем програму, из угнежђеног речника људи бришемо и интерни речник 3
и 4
употребу del
. Затим исписујемо угнежђене људе из речника да бисмо потврдили промене.
Итерирање кроз угнежђени речник
Користећи петље фор, можемо прелиставати сваки елемент у угнежђеном речнику.
Example 7: How to iterate through a Nested dictionary?
people = (1: ('Name': 'John', 'Age': '27', 'Sex': 'Male'), 2: ('Name': 'Marie', 'Age': '22', 'Sex': 'Female')) for p_id, p_info in people.items(): print("Person ID:", p_id) for key in p_info: print(key + ':', p_info(key))
When we run above program, it will output:
Person ID: 1 Name: John Age: 27 Sex: Male Person ID: 2 Name: Marie Age: 22 Sex: Female
In the above program, the first loop returns all the keys in the nested dictionary people. It consist of the IDs p_id of each person. We use these IDs to unpack the information p_info of each person.
The second loop goes through the information of each person. Then, it returns all of the keys name
, age
, sex
of each person's dictionary.
Now, we print the key of the person’s information and the value for that key.
Key Points to Remember:
- Nested dictionary is an unordered collection of dictionary
- Slicing Nested Dictionary is not possible.
- We can shrink or grow nested dictionary as need.
- Like Dictionary, it also has key and value.
- Речнику се приступа помоћу тастера.