我有一个嵌套字典,我们称之为字典d。这个字典的键是整数,每个键的值都是另一个字典。我正在尝试在Python 2.7上编写一段简单的代码来更新一个外部键的值,但似乎它正在更新所有外部键的值。
希望以下代码能让您更容易理解。这是我的输入。
你看,我只给d [0] ['mean']分配了'1',但是不知何故d [1] ['mean']也被更新了。如果增加d中的键数,它将只更改所有d键上的['mean']值。
这里有什么问题吗?这是一个错误吗?
希望以下代码能让您更容易理解。这是我的输入。
>>> template = {'mean':0,'median':0}
>>> d[0] = template
>>> d[1] = template
>>> d[0]['mean'] = 1
>>> d
然后这里是输出结果:
{0: {'mean':1, 'median':0}, 1:{'mean':1,'median':0}}
你看,我只给d [0] ['mean']分配了'1',但是不知何故d [1] ['mean']也被更新了。如果增加d中的键数,它将只更改所有d键上的['mean']值。
这里有什么问题吗?这是一个错误吗?
d[0]
和d[1]
是同一个dict
对象... 使用d[0] = template.copy()
等... - Jon Clements