在一个任务上更新多个dicts

Zah*_*ahy 2 python dictionary

我有一个字典,我已经添加了10个空字符列表的值.然后,我尝试将添加值在列表中类型的字典之一.但似乎我将它设置为列表中的所有dicts.有任何想法吗?我怎么能实现它这个不能工作呢?

bids={}
bids[1]=[{}]*10
bids[1][0][1]=0
Run Code Online (Sandbox Code Playgroud)

出价打印为

{1: [{1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}, {1: 0}]}
Run Code Online (Sandbox Code Playgroud)

虽然我期待:

{1: [{}, {1: 0}, {}, {}, {}, {}, {}, {}, {}, {}]}
Run Code Online (Sandbox Code Playgroud)

Nik*_* B. 6

[{}]*10将创建一个列表,其中包含对同一字典对象的10个引用.通过操纵这一个实例,这些更改显然会影响整个列表.

[{} for _ in range(10)]改用.