python字典里的数求和_Python基于同一个键对字典列表中的值求和

我有一个字典列表,看起来像:data = [{'stat3': '5', 'stat2': '4', 'player': '1'},

{'stat3': '8', 'stat2': '1', 'player': '1'},

{'stat3': '6', 'stat2': '1', 'player': '3'},

{'stat3': '3', 'stat2': '7', 'player': '3'}]

我想得到一个嵌套字典,它的键是来自键('player')的值,它的值是聚合统计的字典。在

输出应:

^{pr2}$

以下是我的代码:from collections import defaultdict

result = {}

total_stat = defaultdict(int)

for dict in data:

total_stat[dict['player']] += int(dict['stat3'])

total_stat[dict['player']] += int(dict['stat2'])

total_stat = ([{'player': info, 'stat3': total_stat[info],

'stat2': total_stat[info]} for info in

sorted(total_stat, reverse=True)])

for item in total_stat:

result.update({item['player']: item})

print(result)

但是,我得到了这个:{'3': {'player': '3', 'stat3': 17, 'stat2': 17},

'1': {'player': '1', 'stat3': 18, 'stat2': 18}}

我该怎么做才对呢?或者还有其他方法吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值