【发布时间】:2021-12-02 13:49:11
【问题描述】:
我有一个列表 myList,其中包含 relativedelta 对象。我想添加所有这些 relativedeltas 对象。 我试过了:
sum(myList)
但它给出了 TypeError。
TypeError: unsupported operand type(s) for +: 'int' and 'relativedelta'
即使 relativedelta 对象可以用 + Opeartor 添加
代码:
from datetime import datetime
from dateutil.relativedelta import relativedelta
date1 = datetime(2018, 4, 9).date()
date2 = datetime(2019, 8, 18).date()
date3 = datetime(2014, 2, 1).date()
date4 = datetime(2018, 12, 30).date()
myList = []
rdelta1 = relativedelta(date2, date1)
myList.append(rdelta1)
rdelta2 = relativedelta(date4, date3)
myList.append(rdelta2)
print(sum(myList))
【问题讨论】:
-
您的 relativedeltas 列表中似乎有一个整数,我们只能说没有可重现的示例
-
您应该提供一个可重现的最小示例(即重现问题的小列表)
-
你应该试试
functools.reduce() -
我在问题中添加了代码。
-
@ScootCork 代码中没有整数。我更新了问题。请参阅代码部分以重现。
标签: python list relativedelta