Синтаксис для создания словаря в другом словаре в python Возможный дубликат: чтобы вставить один список в другой список в python Как может быть синтаксис для создания словаря в другом словаре в python Ответ 1 Вы можете объявить словарь внутри словаря, вставив контейнер {}: 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 Ответ 2 dict1 = {} dict1['dict2'] = {} print dict1 >>> {'dict2': {},} это обычно называют вставкой итераторов в другие итераторы, я думаю, Ответ 3 Вы хотите вставить один словарь в другой, как один из его элементов, или вы хотите ссылаться на значения одного словаря из ключей другого? Предыдущие ответы уже рассмотрели первый случай, когда вы создаете словарь в другом словаре. Чтобы повторно ссылаться на значения одного словаря на другой, вы можете использовать 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']
Ответ 1 Вы можете объявить словарь внутри словаря, вставив контейнер {}: 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
Ответ 2 dict1 = {} dict1['dict2'] = {} print dict1 >>> {'dict2': {},} это обычно называют вставкой итераторов в другие итераторы, я думаю,
Ответ 3 Вы хотите вставить один словарь в другой, как один из его элементов, или вы хотите ссылаться на значения одного словаря из ключей другого? Предыдущие ответы уже рассмотрели первый случай, когда вы создаете словарь в другом словаре. Чтобы повторно ссылаться на значения одного словаря на другой, вы можете использовать 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']