好的,我已经在python中多次使用list,这是我第一次遇到这个问题: 在这个奇怪的地方附近,我得到了这个(简化)
list = []
dict = {}
things = {'1':'Am', '2':'I', '3':'Dumb?'}
[...]
for key,value in things.items():
if value:
dict[key]=value
print(dict)
list.append(dict)
print(list)
并得到如下结果:
{'1':'Am'}
[{'1':'Am'}]
{'2':'I'}
[{'2':'I'},{'2':'I'}]
{'3':'Dumb?'}
[{'3':'Dumb?'},{'3':'Dumb?'},{'3':'Dumb?'}]
欣欣,有人收到过这个吗?一、 我卡住了,谢谢你:)
这不是一个bug。您只需将相同的字典多次添加到列表中。因此,如果您操作该字典,您将看到列表中所有元素的更改,因为这些元素都引用了相同的字典
您应该在每次迭代中创建一个新字典,例如:
或者通过简单的列表理解:
相关问题 更多 >
编程相关推荐