0

我有一个用户列表。每个用户都有一个waitTime属性。如何获得waitTime列表中所有用户的平均值?下面的代码可能会起作用,但我猜有更好的方法来做到这一点。

sum = 0
for user in self.done:
    sum += user.waitTime 
sum/len(self.done)
4

2 回答 2

6

您可以为此使用内置sum函数和生成器表达式。

sum(user.waitTime for user in self.done)/float(len(self.done))

float仅在 python2.x 中且仅当所有对象user.waitTime都是整数时才需要。

于 2013-06-04T14:32:17.270 回答
1

使用生成器表达式和sum求和:

sum(user.waitTime for user in self.done) / float(len(self.done))

如果时间是整数,则需要将结果 fromlen() 转换为浮点数,否则会得到整数除法,即在 Python 2 中截断。

于 2013-06-04T14:32:25.393 回答