我知道标题似乎很简单,但是我尝试了多种方法,但是我却无法实现我想要的。
我尝试了不同的方法,在这里研究了类似的问题,并尝试了他们的解决方案,但是我无法使其工作。
我正在尝试过滤列表,然后返回包含字典(json)的字典
def clean_content(data):
single = {}
cdata = {}
for i in range(len(data):
single.clear()
single['id'] = data[i]['id']
single['title'] = data[i]['title']
single['url'] = data[i]['alternate'][0]['href']
cdata[i] = single
print(cdata)
这将为每个cdata打印相同的值:
{0: {'id': '456', 'title': 'def', 'url': 'https'}, 1: {'id': '456', 'title': 'def', 'url': 'https'}}
注意索引0,1具有相同的精确值。
如果我尝试在循环内打印(单张):
{'id': '123', 'title': 'abc', 'url': 'http'}
{'id': '456', 'title': 'def', 'url': 'https'}
它向我显示了一个有意义的不同值,但我不确定为什么最终结果显示的是上一个值的重复。
我尝试了cdata.update({i:single})而不是=,仍然是同样的问题。
我尝试了不同的方法,用数组代替字典
def clean_content(data):
single = {}
cdata = []
for i in range(3):
single.clear()
single['id'] = data[i]['id']
single['title'] = data[i]['title']
single['url'] = data[i]['alternate'][0]['href']
cdata.append(single)
print(cdata)
,我得到相同的结果!该列表仅包含最后一个元素的重复项 有人可以告诉我我在这里想念什么吗?