【发布时间】:2012-06-08 10:35:30
【问题描述】:
假设我有一个类 C,它具有属性 a。
从 Python 中的 C 列表中获取 a 总和的最佳方法是什么?
我已经尝试了以下代码,但我知道这不是正确的做法:
for c in c_list:
total += c.a
【问题讨论】:
标签: python list attributes sum
假设我有一个类 C,它具有属性 a。
从 Python 中的 C 列表中获取 a 总和的最佳方法是什么?
我已经尝试了以下代码,但我知道这不是正确的做法:
for c in c_list:
total += c.a
【问题讨论】:
标签: python list attributes sum
sum(c.a for c in c_list)
【讨论】:
如果您正在寻找除 sum 之外的其他度量,例如均值/标准差,您可以使用 NumPy 并执行以下操作:
mean = np.mean([c.a for c in c_list])
sd = np.std([c.a for c in c_list])
【讨论】:
我有一个类似的任务,但我的任务是将持续时间相加作为您的属性c.a。
将此与here 提出的另一个问题结合起来,我想出了
sum((c.a for c in cList), timedelta())
因为,如链接中所述,sum 需要一个起始值。
【讨论】:
使用内置statistics模块:
import statistics
statistics.mean((o.val for o in my_objs))
【讨论】: