我试图通过循环构建字典列表,但是每次迭代时它都会覆盖dict的元素,因此我得到的列表中只有一个字典。
for element in elements:
title = elements.get('test')
content = elements.get('content')
post_dict['titre'] = title
post_dict['content'] = content
list_elements.append(post_dict)
print(list_elements)
答案 0 :(得分:0)
您正在覆盖您创建的唯一字典中的数据。 您必须在每次迭代中创建一个新的字典:
for element in elements:
post_dict = {}
title = elements.get('test')
content = elements.get('content')
post_dict['titre'] = title
post_dict['content'] = content
list_elements.append(post_dict)
print(list_elements)
答案 1 :(得分:0)
在每次迭代中,您都必须创建一个新的词典,而不要像现在一样更新同一字典。
for element in elements:
post_dict = dict()
title = elements.get('test')
content = elements.get('content')
post_dict['titre'] = title
post_dict['content'] = content
list_elements.append(post_dict)
print(list_elements)
答案 2 :(得分:0)
在上一个答案的基础上,您也许应该使用element而不是elements。否则,您的项目在每次循环迭代中根本就不会使用
for element in elements:
post_dict = {}
title = element.get('test')
content = element.get('content')
post_dict['titre'] = title
post_dict['content'] = content
list_elements.append(post_dict)
print(list_elements)
答案 3 :(得分:0)
post_dict指向同一个字典对象,这就是为什么它被覆盖的原因。
解决方案是创建一个新的字典对象:
for element in elements:
d = {}
title = elements.get('test')
content = elements.get('content')
d['title'] = title
d['content'] = content
list_elements.append(d)
print(list_elements)