更新字典列表中的空字典会更改列表中的所有元素

时间:2020-07-26 22:11:08

标签: python dictionary

我有一个空字典的列表。如果更新列表中的一个元素,则所有其他元素也会发生相同的变化。

my_list = [{}] * 5
print(my_list)
my_list[0]["name"] = "john"
print(my_list)

输出:

[{}, {}, {}, {}, {}]
[{'name': 'john'}, {'name': 'john'}, {'name': 'john'}, {'name': 'john'}, {'name': 'john'}]

我期望这样的输出:

[{}, {}, {}, {}, {}]
[{'name': 'john'}, {}, {}, {}, {}]

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

它将创建对同一词典的引用列表。 尝试使用类似这样的东西: my_list = [dict() for x in range(n)] 其中n是您想要的风管数量