【发布时间】:2014-02-25 10:51:00
【问题描述】:
我要列表d = [{'name': 'Ada Lovelace'},{'name': 'Alan Turing'}]。
但是字典变异了
>>> a = ['Ada Lovelace','Alan Turing']
>>> c = dict()
>>> d = []
>>> for i in a:
... print c
... print d
... c['name'] = i
... d.append(c)
... print c
... print d
...
{}
[]
{'name': 'Ada Lovelace'}
[{'name': 'Ada Lovelace'}]
{'name': 'Ada Lovelace'}
[{'name': 'Ada Lovelace'}]
{'name': 'Alan Turing'}
[{'name': 'Alan Turing'}, {'name': 'Alan Turing'}]
【问题讨论】:
-
因为您将相同的字典对象附加到列表中。更好地在循环本身中创建字典。
标签: python