列表中相同key的字典相加

# 怎么把列表中相同key的字典相加,也就是id的值加id的值,doc_count的值加doc_count的值

# 目标列表
l=[{'id': 5, 'doc_count': 129}, {'id': 1, 'doc_count': 3}, {'id': 1, 'doc_count': 64}]

#统计ID,将不同的id放入一个列表中
lid=[]

for i in l:
    if i['id'] not in lid:
        lid.append(i['id'])

#结果列表
lm=[]
#根据lid,生成结果列表
for i in lid:
    lm.append({'id':i,'doc_count':0})
#相同id的doc_count数相加
for i in l:
    for o in lm:
        if i['id'] == o['id']:
            o['doc_count']=o['doc_count']+i['doc_count']
print(lm)
原文地址:https://www.cnblogs.com/z-x-y/p/10147149.html