对对象列表的属性求和/求平均值


80

可以说我有C一个具有属性的类a

aCPython列表中获取总和的最佳方法是什么?


我已经尝试了以下代码,但是我知道这不是正确的方法:

for c in c_list:
    total += c.a

Answers:



8

如果您正在寻找除总和以外的其他度量,例如平均值/标准偏差,则可以使用NumPy并执行以下操作:

mean = np.mean([c.a for c in c_list])
sd = np.std([c.a for c in c_list])

4

我也有类似的任务,但我的工作涉及将持续时间求和作为属性c.a。结合这里提出的另一个问题,我想到了

sum((c.a for c in cList), timedelta())

因为,如链接中所述,sum需要一个起始值。


0

使用内置statistics模块:

import statistics

statistics.mean((o.val for o in my_objs))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.