我有以下問題所困擾總和可以用Python
[datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)]
這將導致datetime.timedelta(0, 14400) => 4小時
我有以下問題所困擾總和可以用Python
[datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)]
這將導致datetime.timedelta(0, 14400) => 4小時
試試這個,
import datetime
print sum(time_list,datetime.timedelta())
結果:
datetime.timedelta(0, 14400)
通過datetime.timedelta(0,0)
到sum
作爲初始值。
import datetime
arr = [datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)]
print(sum(arr, datetime.timedelta(0,0)))
輸出:
4:00:00
您可以使用熊貓
import pandas as pd
df=pd.DataFrame([datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)])
df[0].sum()
Timedelta('0 days 04:00:00')
另一種解決方案:使用functools.reduce
,
import operator
import functools
import datetime
dts = [datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)]
result = functools.reduce(operator.add, dts)
print(result)
# 4:00:00
是沒有工作,THX – bdriven