Я после небольшого совета, пожалуйста.
Я пытаюсь объединить несколько словарей как объекты - ветви - в один словарь как объект - дерево. Например:
d1 = {'alpha':{'one':{'a':1}}}
d2 = {'alpha':{'one':{'b':2}}}
d3 = {'alpha':{'two':{'a':3}}}
d4 = {'alpha':{'two':{'b':{'rock':4}}}}
d5 = {'bravo':{'one':{'a':{'paper':5}}}}
Должно стать:
d_tot = {
'alpha':{
'one':{
'a':1,
'b':2,
},
'two':{
'a':3,
'b':{
'rock':4
}
}
},
'bravo':{
'one':{
'a':{
'paper':5
}
}
}
}
Будут объединены сотни веток различной длины в дерево.
Как упоминалось ранее, эти являются словарными объектами или убитыми словарями, которые выглядят следующим образом:
class bastardised_dict(dict):
def __init__(self, *args):
super(dict, self).__init__(*args)
self.__dict__ = self
Важно, чтобы они оставались убогими словарями и чтобы конечный результат также был ублюдком. Это позволяет получить доступ как: d_tot.alpha.one.a
Скажите, пожалуйста, пропустил ли я что-нибудь существенное. Извиняюсь, если я нарушаю способ использования словарей / классов - я слишком далеко вниз по кроличьей норе, чтобы повернуть назад.
Заранее спасибо за то, что подумали (даже если у вас нет решения, я ценю ваше время).