我尝试在每次循环迭代时增加一个列表:
ads = []
page = {}
page['titre'] = "Title here"
page['nombre_pages'] = 396
i = 1
total = 3
while i <= total:
print(i)
page['id'] = i
ads.append(page)
i += 1
此回报
[{'titre': 'Title here', 'nombre_pages': 396, 'id': 3}, {'titre': 'Title here', 'nombre_pages': 396, 'id': 3}, {'titre': 'Title here', 'nombre_pages': 396, 'id': 3}]
我不明白为什么相同的ID是3次而不是ID:1,ID:2,ID:3
当打印页面['id']正常(递增)时,ads.append(页面['id'])也可用。
您能帮忙吗?
谢谢
答案 0 :(得分:1)
您仅通过以下方式创建单个“页面”对象:
page = {}
,并从ads
中的多个索引位置进行引用。您可能想做些更接近的事情:
ads = []
i = 1
total = 3
while i <= total:
print(i)
page = {}
page['titre'] = "Title here"
page['nombre_pages'] = 396
page['id'] = i
ads.append(page)
i += 1
或更惯用的:
ads = []
total = 3
for i in range(total):
ads.append({
'nombre_pages': 396,
'titre': "Title here",
'id': i,
})