@Torsionov

Как добавить значение к списку словаря в словаре?

Подскажите, пожалуйста, что за дичь?
Есть словарь в котором элементы словарь со списками
Хочу в эти списки добавить значение по двум ключам, но почему то добавляет во все:

elements_dict = {}
for f in [1,2]:
    elements_dict[f] = []

table_dict = {}
for k in ['a', 'b']:
    table_dict[k] = elements_dict
table_dict

Вывод:
{'a': {1: [], 2: []}, 'b': {1: [], 2: []}}

table_dict['a'][1].append('text')
table_dict

Вывод:
{'a': {1: ['text'], 2: []}, 'b': {1: ['text'], 2: []}}
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
aRegius
@aRegius
Python Enthusiast
Подскажите, пожалуйста, что за дичь?

shared references
Как добавить значение к списку словаря в словаре?

copy.deepcopy()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmtrrr
Backend developer
Нужно разобраться как работает Pass by Reference в питоне.
Если коротко, то a и b ссылаются на один и тот же словарь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы