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

实现思路:

1.去重id
2.通过去重id生成count值为0的dict
3.先循环目标数据,再循环去重后的dict 通过if判断,相同则相加,不同则跳过,这样就达到了dict相加的目的 

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

代码段如下:

l1 = [{'id': 5, 'count': 129}, {'id': 1, 'count': 3}, {'id': 1, 'count': 64}]

#将不同的id放入一个列表中
lid = []
for i in l1:
    if i['id'] not in lid:
        lid.append(i['id'])
print(lid)

lm = []
#根据lid,生成结果列表
for i in lid:
    lm.append({'id': i, 'count': 0})  # 如果有多个元素,需要再新定义一个空列表

#相同id的count数相加
for p in l1:
    for o in lm:
        if p['id'] == o['id']:
            o['count'] = o['count']+p['count']
print(lm)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值