Вложенный словарь Python (с примерами)

В этой статье вы узнаете о вложенном словаре в Python. В частности, вы научитесь создавать вложенный словарь, получать доступ к элементам, изменять их и так далее с помощью примеров.

В Python словарь - это неупорядоченный набор элементов. Например:

 словарь = ('ключ': 'значение', 'ключ_2': 'значение_2')

Здесь key:valueпара словаря заключена в фигурные скобки ().

Чтобы узнать больше о словаре, посетите Python Dictionary.

Что такое вложенный словарь в Python?

В Python вложенный словарь - это словарь внутри словаря. Это собрание словарей в одном словаре.

 nested_dict = ('dictA': ('ключ_1': 'значение_1'), 'dictB': ('ключ_2': 'значение_2'))

Здесь nested_dict - это вложенный словарь со словарем dictAи dictB. Это два словаря, каждый из которых имеет собственный ключ и значение.

Создать вложенный словарь

Мы собираемся создать словарь людей в словаре.

Пример 1: Как создать вложенный словарь

 people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)

Когда мы запустим вышеуказанную программу, она выведет:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'пол ': 'Женский'))

В приведенной выше программе люди - это вложенный словарь. Внутренний словарь 1и 2присваивается людям. Здесь, как в словаре есть ключ name, age, sexс различными значениями. Теперь печатаем результат людей.

Доступ к элементам вложенного словаря

Чтобы получить доступ к элементу вложенного словаря, мы используем ()синтаксис индексации в Python.

Пример 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внутри словаря people.

Затем мы добавляем 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добавлен во вложенный словарь people.

Удалить элементы из вложенного словаря

В Python мы используем оператор «del» для удаления элементов из вложенного словаря.

Пример 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: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'пол ': 'Женский'))

В приведенной выше программе мы удаляем как внутренний словарь, так 3и 4using delиз вложенного словаря людей. Затем мы печатаем вложенный словарь people для подтверждения изменений.

Итерация по вложенному словарю

Используя циклы for, мы можем перебирать каждый элемент во вложенном словаре.

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. Доступ к словарю осуществляется с помощью ключа.

Интересные статьи...