繁体   English   中英

Sum/Average 对象列表的属性

[英]Sum / Average an attribute of a list of objects

假设我有C类,它具有属性a

从 Python 中的C列表中获取a总和的最佳方法是什么?


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

for c in c_list:
    total += c.a

使用生成器表达式

sum(c.a for c in c_list)

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

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

我有一个类似的任务,但我的任务涉及将持续时间总结为您的属性ca 结合这里提出的另一个问题,我想出了

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

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

使用内置statistics模块:

import statistics

statistics.mean((o.val for o in my_objs))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM