首页 > 解决方案 > 如何将列表的 OrderedDic 元素的特定值相加?

问题描述

如果有:

random_list = [OrderedDict([('num1',1.0), ('num2', 2.0), ('num3', 3.0)]),OrderedDict([('num1',10.0), ('num2', 20.0), ('num3', 30.0])]
  1. 如何将 num2 的值相加?(2.0 + 20.0 = 22.0)
  2. 如何将 num2 和 num3 的值相加?(2.0 + 20.0 + 3.0 + 30.0= 55.0)

在上述任何情况下,都不应使用 sum()。

谢谢。

标签: pythonpython-3.x

解决方案


您可以像使用标准 Python 的 dict 一样使用 OrderedDict:

from collections import OrderedDict

random_list = [OrderedDict([('num1',1.0), ('num2', 2.0), ('num3', 3.0)]),OrderedDict([('num1',10.0), ('num2', 20.0), ('num3', 30.0)])]

case1 = sum(d['num2'] for d in random_list)
print(case1)

case2 = sum(d['num2'] + d['num3'] for d in random_list)
print(case2)

印刷:

22.0
55.0

推荐阅读