Python3嵌套字典将值泄露给其他键

时间:2017-11-13 04:50:44

标签: python python-3.x python-3.6

使用词典字典时,键值分配会泄漏。

使用fromkeys()函数创建外部字典。

环境:Python 3.6.3

sample_dict = dict.fromkeys(
    [1,0], 
    {}
)
sample_dict[1]['a'] = 1
print(sample_dict)

输出:

{1: {'a': 1}, 0: {'a': 1}}

正如您所看到的,即使我只将其分配给键1,该值也会被键0复制。

我尝试了这个,它按预期工作:

sample_dict = dict.fromkeys(
    [1,0]
)
sample_dict[1] = {}
sample_dict[1]['a'] = 1
print(sample_dict)

输出:

{1: {'a': 1}, 0: {}}

使用fromkeys()函数时嵌套词典是错误的吗?

0 个答案:

没有答案