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

Python 求和/平均对象列表的属性,python,list,attributes,sum,Python,List,Attributes,Sum,假设我有一个类C,它有属性a 在Python中,从C列表中获取a之和的最佳方法是什么 我尝试了以下代码,但我知道这不是正确的方法: for c in c_list: total += c.a 使用: 我有一个类似的任务,但我的任务涉及将持续时间相加为属性c.a。 结合这个问题和另一个问题,我提出了 sum((c.a for c in cList), timedelta()) 因为,如链接中所述,sum需要一个起始值。如果您正在寻找sum以外的其他度量,例如平均值/标准偏差,您可以使

假设我有一个类
C
,它有属性
a

在Python中,从
C
列表中获取
a
之和的最佳方法是什么


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

for c in c_list:
    total += c.a
使用:


我有一个类似的任务,但我的任务涉及将持续时间相加为属性
c.a
。 结合这个问题和另一个问题,我提出了

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

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

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

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

使用内置的
统计
模块:

import statistics

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

我喜欢它的简单性,但对于大约10个元素,c.A是一个浮点数,它似乎需要(c1.A+c2.A+c3.A)的一半时间。
import statistics

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