具有默认值的键的Python字典

时间:2019-10-25 23:55:01

标签: python list dictionary

我正在尝试从具有默认值的列表中创建字典,然后我想出一些奇怪的行为来解释。

这是我尝试过的代码:

mydict = dict.fromkeys([1,2,3], {'value': None})
print(mydict)
# {1: {'value': None}, 2: {'value': None}, 3: {'value': None}}
mydict[1]['value'] = 1
print(mydict)
# {1: {'value': 1}, 2: {'value': 1}, 3: {'value': 1}}

如您所见,当我用dict.fromkeys定义时,所有值都是None,但是当我尝试从第一个键值更改值时,所有其他值都更改为我在第一个定义的值。

我知道其他适用于我的解决方案,但我想知道为什么这样做不行。

我已经用谷歌搜索了这个问题,但找不到任何东西。有人建议我This作为答案,但这不是我想要的。

0 个答案:

没有答案