假设我的课程C
有属性a
。
从Python的a
列表中获取C
总和的最佳方法是什么?
我尝试过以下代码,但我知道这不是正确的方法:
for c in c_list:
total += c.a
答案 0 :(得分:136)
sum(c.a for c in c_list)
答案 1 :(得分:3)
我有类似的任务,但是我的工作涉及将持续时间总计为属性c.a
。
将此问题与here提出的另一个问题相结合,我想出了
sum((c.a for c in cList), timedelta())
因为,如链接中所述,sum
需要一个起始值。
答案 2 :(得分:1)
如果您正在寻找除总和以外的其他度量,例如均值/标准差,您可以使用NumPy并执行:
mean = np.mean([c.a for c in c_list])
sd = np.std([c.a for c in c_list])
答案 3 :(得分:0)
使用内置的statistics
模块:
import statistics
statistics.mean((o.val for o in my_objs))