Вложенный словарь добавляет элемент через цикл - PullRequest
0 голосов
/ 19 июня 2020

В общем, я создал словарь с таким кодом:

dict = {}
if key not in dict:
    dict[key] = [element]
else:
    dict[key].append(element)

Но если я хочу применить аналогичный метод к вложенному словарю, что мне делать? Об этом я думаю, но, конечно, не вышло.

dict = {}
if key1, key2 not in dict:
    dict[key][key2] = [element]
else:
    dict[key][key2].append(element)

1 Ответ

3 голосов
/ 19 июня 2020

Используйте setdefault:

d = {}
d.setdefault('a', {}).setdefault('b', []).append('element')
print(d)
# {'a': {'b': ['element']}}
d.setdefault('a', {}).setdefault('b', []).append('another_element')
# {'a': {'b': ['element', 'another_element']}}
...