如何删除密钥" name"
的副本[
{
'items':[
{
'$oid':'5a192d0590866ecc5c1f1683'
}
],
'image':'image12',
'_id':{
'$oid':'5a106f7490866e25ddf70cef'
},
'name':'Amala',
'store':{
'$oid':'5a0a10ad90866e5abae59470'
}
},
{
'items':[
{
'$oid':'5a192d2890866ecc5c1f1684'
}
],
'image':'fourth shit',
'_id':{
'$oid':'5a106fa190866e25ddf70cf0'
},
'name':'Amala',
'store':{
'$oid':'5a0a10ad90866e5abae59470'
}
}
]
我想用相同的键"名称"
将字典拼凑在一起这是我试过的
b = []
for q in data:
if len(data) == 0:
b.append(q)
else:
for y in b:
if q['name'] != y['name']:
b.append(q)
但在尝试此操作后,b
列表并未返回我想要的唯一字典
答案 0 :(得分:1)
循环组装列表,如果找到具有不同名称的dict,则添加当前的dict。逻辑应该是不同的:只有在找不到具有相同名称的逻辑时才添加它!
话虽这么说,你应该保留一组看到过的名字。这将使检查更具性能:
b, seen = [], set()
for q in data:
if q['name'] not in seen:
b.append(q)
seen.add(q['name'])