gpt4 book ai didi

python - 有没有一种方法可以在不更改任何包含的可变类型的情况下更新字典?

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:22 26 4
gpt4 key购买 nike

<分区>

我有一个这种结构的设置字典:

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 中的不可变值,这些更新将反射(reflect)在 my_b 中,因为 my_b.settings 是 main_dict['b'].

但是,我现在有一个新的根字典,其中的新设置遵循相同的结构:

new_dict = {
'a': {
'a1': 11,
'a2': 22,
},
'b': {
'bb': {
'bb1' : 11,
'bb2' : 22,
},
},
}

是否有一种简单且通用的方法可以将 new_dict 中的所有不可变值复制到 main_dict 中,从而使 my_b 中的引用保持不变?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com