如何汇总子字典中的值

问题描述 投票:1回答:1

我具有以下数据类型:

dict = {}在字典中,每个值也是一个字典,如下所示:

{'A1': {'T1': 3.0, 'T2': 2.0}, 'A2': {'T1': 0.0, 'T2': 3.0}} 

我想做的是对每个子字典求和,以获得此:

A1 A2  A1 A2
T1+T1. T2+T2
 [3.0, 5.0] <<<< output

我该怎么做?我已经尝试了,但是却造成了大麻烦

python p
1个回答
3
投票

一种方法是在列表理解中使用collections.Counter,然后在它们中使用sum

from collections import Counter
d = {'A1': {'T1': 3.0, 'T2': 2.0}, 'A2': {'T1': 0.0, 'T2': 3.0}} 

l = (Counter(i) for i in d.values())
sum(l, Counter())
# Counter({'T1': 3.0, 'T2': 5.0})

仅获取值,可以执行:

sum(l, Counter()).values()
# dict_values([3.0, 5.0])
© www.soinside.com 2019 - 2024. All rights reserved.