gpt4 book ai didi

python - datetime.datetime 对象的总和给出了错误 TypeError : unsupported operand type(s) for +: 'datetime.datetime' and 'datetime.datetime'

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:14 34 4
gpt4 key购买 nike

我正在尝试使用以下方法对 datetime.datetime 对象列表求和:

from datetime import datetime, timedelta
d= [datetime.datetime(2013, 5, 1, 9, 31, 24), datetime.datetime(2013, 6, 11, 17, 22, 18), datetime.datetime(2013, 4, 3, 16, 6, 59)]

sum_d = sum(d, timedelta())

我得到错误:

TypeError:+ 不支持的操作数类型:“datetime.datetime”和“datetime.datetime”

知道我做错了什么或如何总结这份 list 吗?

我想得到我正在考虑的这个列表的平均值:

 d_avg = sum(d, timedelta()) / len(d)

谢谢!

最佳答案

那只是因为你不能添加时间。您可以添加时间 deltas,但不能添加时间本身。

我的意思是,什么是 3rd Aug 1995 + 19th June 454?这没有意义。您可以添加距第 0 年的距离,但这与添加日期本身不同。

你希望从这个计算中得到什么?


如果您希望找到平均值(为什么?),您将不得不使用不太直接的路线

import datetime

d = [datetime.datetime(2013, 5, 1, 9, 31, 24), datetime.datetime(2013, 6, 11, 17, 22, 18), datetime.datetime(2013, 4, 3, 16, 6, 59)]

d[0] + sum((d_i-d[0] for d_i in d), datetime.timedelta(0)) / len(d)
#>>> datetime.datetime(2013, 5, 5, 22, 20, 13, 666667)

这会找到 d[0] 的偏移量之和,表示那些,然后将该偏移量加回去。

关于python - datetime.datetime 对象的总和给出了错误 TypeError : unsupported operand type(s) for +: 'datetime.datetime' and 'datetime.datetime' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073821/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com