0
我有一个用户列表。每个用户将具有waitTime
属性。我如何获得列表中所有用户的平均值waitTime
?下面的代码可能会工作,但我猜测有一个更好的方法来做到这一点。对象列表中属性的平均值
sum = 0
for user in self.done:
sum += user.waitTime
sum/len(self.done)
我有一个用户列表。每个用户将具有waitTime
属性。我如何获得列表中所有用户的平均值waitTime
?下面的代码可能会工作,但我猜测有一个更好的方法来做到这一点。对象列表中属性的平均值
sum = 0
for user in self.done:
sum += user.waitTime
sum/len(self.done)
您可以使用内置sum
函数结合发生器表达式。
sum(user.waitTime for user in self.done)/float(len(self.done))
的float
仅在python2.x必要的,只有当所有的user.waitTime
对象是整数。
使用的总和发电机表达和sum
:
sum(user.waitTime for user in self.done)/float(len(self.done))
如果时间是整数,则需要将结果从len()
成浮点转换,否则你得到整数除法,即截断在Python 2。