У цій статті ви дізнаєтесь про вкладений словник у Python. Більш конкретно, ви навчитеся створювати вкладений словник, отримувати доступ до елементів, модифікувати їх тощо за допомогою прикладів.
У Python словник - це невпорядкована колекція предметів. Наприклад:
словник = ('key': 'value', 'key_2': 'value_2')
Тут словник має key:value
пару, укладену в фігурні дужки ()
.
Щоб дізнатись більше про словник, відвідайте словник Python.
Що таке вкладений словник на Python?
У Python вкладений словник - це словник всередині словника. Це колекція словників в єдиний словник.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_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', 'sex ':' Жінка '))
У наведеній вище програмі people - це вкладений словник. Внутрішній словник 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
всередині словника люди.
Потім ми додаємо 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
додано до вкладених словників.
Видалити елементи з вкладеного словника
У 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))
Коли ми запускаємо програму вище, вона видасть:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
У наведеній вище програмі ми видаляємо 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', 'sex ':' Жінка '))
У наведеній вище програмі ми видаляємо як внутрішній словник, так 3
і 4
використання del
з вкладеного словника люди. Потім ми друкуємо вкладені словники для підтвердження змін.
Ітерація через вкладений словник
Використовуючи цикли 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:
- 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.
- До словника можна отримати доступ за допомогою ключа.