问题在标题中。我无法使其工作:
>>> data = [{}] * 2
>>> data[1].update({3:4})
>>> data
[{3: 4}, {3: 4}]
键值对将添加到数组的所有元素。我希望收到:
[{}, {3: 4}]
问题是
data = [{}] * 2
创建一个具有两次相同字典的列表。
为了说明这一点,让我们看一下id(data[0])
和id(data[1])
:
>>> data = [{}] * 2
>>> data
[{}, {}]
>>> id(data[0])
4490760552
>>> id(data[1])
4490760552
请注意,id(data [0])和id(data [1])相同,因为列表中的两个条目都引用相同的对象
您可能想要的是
>>> d2 = [{} for i in range(2)]
>>> d2[0][4] = 'a'
>>> d2
[{4: 'a'}, {}]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句