Возможный дубликат:
чтобы вставить один список в другой список в python
Как может быть синтаксис для создания словаря в другом словаре в python
Возможный дубликат:
чтобы вставить один список в другой список в python
Как может быть синтаксис для создания словаря в другом словаре в python
Вы можете объявить словарь внутри словаря, вставив контейнер {}:
d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}
И затем вы можете получить доступ к элементам, используя синтаксис []:
print d['dict1'] # {'foo': 1, 'bar': 2}
print d['dict1']['foo'] # 1
print d['dict2']['quux'] # 4
Учитывая вышеизложенное, если вы хотите добавить другой словарь в словарь, это можно сделать так:
d['dict3'] = {'spam': 5, 'ham': 6}
или если вы предпочитаете добавлять элементы во внутренний словарь по одному:
d['dict4'] = {}
d['dict4']['king'] = 7
d['dict4']['queen'] = 8
dict1 = {}
dict1['dict2'] = {}
print dict1
>>> {'dict2': {},}
это обычно называют вставкой итераторов в другие итераторы, я думаю,
Вы хотите вставить один словарь в другой, как один из его элементов, или вы хотите ссылаться на значения одного словаря из ключей другого?
Предыдущие ответы уже рассмотрели первый случай, когда вы создаете словарь в другом словаре.
Чтобы повторно ссылаться на значения одного словаря на другой, вы можете использовать dict.update
:
>>> d1 = {1: [1]}
>>> d2 = {2: [2]}
>>> d1.update(d2)
>>> d1
{1: [1], 2: [2]}
В обоих словарях будет отображаться изменение значения, которое присутствует в обоих словарях:
>>> d1[2].append('appended')
>>> d1
{1: [1], 2: [2, 'appended']}
>>> d2
{2: [2, 'appended']}
Это то же самое, что и копирование значения или создание с ним нового словаря, т.е.
>>> d3 = {1: d1[1]}
>>> d3[1].append('appended from d3')
>>> d1[1]
[1, 'appended from d3']