Питхон угнежђени речник (са примерима)

У овом чланку ћете сазнати о угнежђеном речнику у Питхону. Прецизније, научићете да креирате угнежђени речник, приступите елементима, измените их и тако даље помоћу примера.

У Питхону, речник је неуређена колекција предмета. На пример:

 дицтионари = ('кеи': 'валуе', 'кеи_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:

  1. Nested dictionary is an unordered collection of dictionary
  2. Slicing Nested Dictionary is not possible.
  3. We can shrink or grow nested dictionary as need.
  4. Like Dictionary, it also has key and value.
  5. Речнику се приступа помоћу тастера.

Занимљиви Чланци...