如何替换词典列表(每个词典具有相同或不同值的相同键)所有词典with same values of keys id and type which occur more than 0ne time with just one new dictionary with type group
?
我可以通过迭代计数存在并将列表中的所有组合与多个存在并替换,但是有更快的方法吗?
[{id:1, type:1, content:'txt'},{id:2, type:1, content:'abc'},{id:1, type:1, content:'yup'},{id:1, type:1, content:'dmg'}]
将成为
[{id:1, type:'group', content:'txt'},{id:2, type:1, content:'abc'}]
答案 0 :(得分:0)
由于在列表中搜索速度很慢,因此可能需要生成一个字典词典作为中间词,特别是如果您稍后将通过id搜索。如有必要,您可以稍后转换回列表。
#ld = the list of dictionaries to be processed
nd = {}
for dict in ld:
i= dict['id']
if i in nd:
if nd[i]['type'] != 'group':
nd[i]={'type':'group', 'content':'txt'}
else:
nd[i]={'type':dict['type'],'content':dict['content']}
您可能希望测试一下,从长远来看,这实际上是否更快。