为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英546537 2021-03-19 20:16:47
我有这种结构的设置字典:main_dict = {    'a': {        'a1': 1,        'a2': 2,    },    'b': {        'bb': {            'bb1' : 1,            'bb2' : 2,        },    },}然后,我有了一些类,其中包含对包含在中的字典的引用main_dict,例如:class B:    def __init__(self, settings):        self.settings = settingsmy_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中的引用保持原样?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信