У меня есть функция, которая возвращает что-то вроде этого
{a:{b:{c:4}}}
и когда я снова вызову эту функцию в цикле, она вернет
{a:{b:{d:5}}}
и снова вернется
{a:{b:{e:6}}}
Так что я хочу, чтобы мой окончательный результат был {a:{b:{c:4, d:5, e:6}}}
Я пытался
final_output.update(func)
Но это будет обновляться как final_output как {a:{b:{e:6}}}
def create_dict(self, make_dict, key, value):
final_dict = make_dict
keys = key.split('.')
latest = keys.pop()
for key in keys:
final_dict = final_dict.setdefault(key, {})
final_dict.setdefault(latest, value)
self.create_dict(status_dict, '{}.{}.{}'.format(name, ton_set.id, ton_id),
status)
Вот моя функция func
= create_dict
.
Поможет ли мне defaultdict
в этой ситуации?