我有一个列表myList,其中包含相对LTA对象。我想添加所有这些relativedeltas对象。 我试过:
sum(myList)
但它给出了类型错误
TypeError: unsupported operand type(s) for +: 'int' and 'relativedelta'
即使可以使用+Opeartor添加relativedelta对象
代码:
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))
使用reduce
这是因为^{} uses start value as ^{}.
例如,
sum([1, 2])
是0 + 1 + 2
sum([1, 2], start=7)
是7 + 1 + 2
因此,要解决这个问题,请使用一个item(
relativedelta
对象)作为start
参数,并将其他所有内容保留在iterable中相关问题 更多 >
编程相关推荐