gpt4 book ai didi

python - 字典的嵌套键值求和

转载 作者:行者123 更新时间:2023-11-30 23:15:14 26 4
gpt4 key购买 nike

这是我在 Python 2.7 中的示例字典:

sample = {'T1': {'P1': 20, 'P2': 100}, 'T2': {'P1': 60, 'P2': 50}}

我试图用键“P1”和“P2”对所有值求和以获得如下结果:

reqResult = [80,150]

我该如何解决这个问题?

非常感谢。

最佳答案

你可以使用

>>> d = {'T1': {'P1': 20, 'P2': 100}, 'T2': {'P1': 60, 'P2': 50}}
>>> map(sum, zip(*[x.values() for x in d.values()]))
[150, 80]

这将首先计算内部字典,然后取出它们的值并将它们压缩在一起,最后对它们进行求和。

或者,定义一个自定义函数并使用它:

>>> d = {'T1': {'P1': 20, 'P2': 100}, 'T2': {'P1': 60, 'P2': 50}}
>>> def sigma(list_of_dicts):
... result = []
... keys = list_of_dicts[0].keys()
... for key in keys:
... result.append(sum(x[key] for x in list_of_dicts))
... return result
...
>>> print sigma(d.values())
[150, 80]

关于python - 字典的嵌套键值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28345539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com