我具有以下数据类型:
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
我该怎么做?我已经尝试了,但是却造成了大麻烦
一种方法是在列表理解中使用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])