需要timedelta对象列表中的平均值

Cor*_*ory 15 python datetime timedelta

我创建了一个timedelta对象列表,我需要得到这个列表的平均值.当我尝试做的时候

return (sum(delta_list)/(len(delta_list)-1))
Run Code Online (Sandbox Code Playgroud)

我得到TypeError:不支持的操作数类型+:'int'和'datetime.timedelta'

我是使用pythons datetime类的新手.我也想知道如何将这个平均值变成像天的格式:小时:分钟:我不需要任何小于分钟的东西.

Joc*_*zel 27

sum想要一个起始值,0默认情况下,但0不能添加到一个,timedelta所以你得到错误.

你只需要给出sum一个timedelta()起始值:

# this is the average
return sum(delta_list, timedelta()) / len(delta_list)
Run Code Online (Sandbox Code Playgroud)

要打印出来,你可以这样做:

print str(some_delta)
Run Code Online (Sandbox Code Playgroud)

如果你想要定制的东西,你可以得到some_delta.days,some_delta.seconds但你必须计算之间的一切.