首页 > 解决方案 > Python中的嵌套字典并更新键中的特定键

问题描述

我正在尝试更新 python 中的特定键,但似乎所有相似的键也都更新了。

inner_dict = {'grade': None, 'age': None, 'genre': None}
outer_dict = {'Sam': inner_dict, 'Joe': inner_dict, 'Some' : inner_dict}
outer_dict['Sam']['age'] = 10

我希望将其作为输出:

{'Sam': {'grade': None, 'age': 10, 'genre': None}, 'Joe': {'grade': None, 'age': None, 'genre': None}, '一些':{'等级':无,'年龄':无,'流派':无}}

但相反,我有这个:

{'Sam': {'grade': None, 'age': 10, 'genre': None}, 'Joe': {'grade': None, 'age': 10, 'genre': None}, '一些':{'等级':无,'年龄':10,'流派':无}}

其中所有孩子的年龄都更新为 10

标签: pythonpython-3.x

解决方案


您必须复制该对象,否则您只有一个具有 3 个引用的对象。

所以解决方案是: outer_dict = {'Sam': inner_dict.copy(), 'Joe': inner_dict.copy(), 'Some' : inner_dict.copy()}


推荐阅读