Python列表dict中相同key的字典相加

2021-03-12 10:11:23 浏览数 (1)

代码语言:javascript复制
总结为:
1.去重id  
2.通过去重id生成count值为空的dict
3.先循环目标数据,再循环去重后的dict 通过if判断,相同则相加,不同则跳过,这样就达到了dict相加的目的


# 怎么把列表中相同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)

0 人点赞