如果model
、url
和price_int
相同(重复),如何删除results
列表中的dict?
JSON示例:
[{
"id": 1,
"results": [
{
"model": "Audi Audi TT Roadster",
"price_int": 2200,
"rzc_result_url": "https://url1.jpg"
},
{
"model": "Audi TT Roadster 1.8 T",
"price_int": 2999,
"rzc_result_url": "https://url1.jpg"
},
{
"model": "Audi TT Roadster 1.8 T",
"price_int": 2999,
"rzc_result_url": "https://url1.jpg"
}]
},
...
]
预期产出:
[{
"id": 1,
"results": [
{
"model": "Audi Audi TT Roadster",
"price_int": 2200,
"rzc_result_url": "https://url1.jpg"
},
{
"model": "Audi TT Roadster 1.8 T",
"price_int": 2999,
"rzc_result_url": "https://url1.jpg"
}]
},
...
]
代码:
def removeDoubles():
results = item["results"]
if not results == []:
for result in results:
urlList = result["url"]
modelList = result["model"]
priceIntList = result["price_int"]
... What to do ?
removeDoubles()
我知道我还远没有找到解决方案,但如何根据三个键/值删除重复项
在添加到另一个列表之前,需要迭代输入
'result'
键值并进行成员资格检查。因此,如果之前已经添加了相同的列表,则基本上不会将其添加到新列表中:您可以直接比较DICT以检查它们是否具有相同的键/值
印刷品:
当我们不关心顺序时,通常删除重复项的方法是put them in a set
但是,我们不能按原样将
dict
放入一个集合,因为它们aren't hashable。我们可以使用这里给出的技巧,以散列形式保存dict数据(这允许集合自然地删除重复项),然后获取原始数据相关问题 更多 >
编程相关推荐