ret.append(res)
res是壹個dict object,而不是壹個dict拷貝。它的值是會變的。如果想要得到[{'id':0},{'id':1},{'id':2}],應該這樣:
ret = []
for i in range(3):
res = {}
res['id']=i
ret.append(res)
print ret
或者(更簡潔的):
ret = []
for i in range(3):
ret.append({'id': i})
print ret
這樣每次加入list的都是壹個新的dict實例,值都是獨立的。