我有这种结构的设置字典:
main_dict = {
'a': {
'a1': 1,
'a2': 2,
},
'b': {
'bb': {
'bb1' : 1,
'bb2' : 2,
},
},
}
然后,我有了一些类,其中包含对包含在中的字典的引用main_dict,例如:
class B:
def __init__(self, settings):
self.settings = settings
my_b = B(main_dict['b'])
assert(my_b.settings is main_dict['b'])
因此,我可以更新其中的不可变值,main_dict并且这些更新将反映在中,my_b因为my_b.settings is main_dict['b']。
但是,我现在有一个新的根字典,其中的新设置遵循相同的结构:
new_dict = {
'a': {
'a1': 11,
'a2': 22,
},
'b': {
'bb': {
'bb1' : 11,
'bb2' : 22,
},
},
}
是否有一种简单通用的方法将所有不可变值复制new_dict到中main_dict,从而使my_b中的引用保持原样?
相关分类