Функция sum()
нуждается в начальном значении для добавления всех элементов в итерируемое значение. По умолчанию 0
, поэтому вы получаете сообщение об ошибке при добавлении timedelta
к int
.
Чтобы это исправить, просто передайте объект timedelta
в качестве второго аргумента sum
:
(При создании timedelta
без аргументов создается тот, который соответствует нулевой разнице во времени.)
Кроме того, среднее значение для набора элементов обычно представляет собой сумму элементов, деленную на количество элементов, поэтому вам не нужно вычитать 1 из len(delta_list)
.
Эти изменения означают, что мы можем снять некоторые скобки с вашего утверждения.
Итак, это дает вам:
return sum(delta_list,timedelta()) / len(delta_list)