我有一个这样的列表:
list = [1.24, 3.54, 6.59]
说我想将这些列表对象中的两个添加在一起-即 3.54 + 6.59
。我该如何添加它们,将它们视为小时和分钟(hh.mm
)?
答案 0 :(得分:1)
要做的一件事是使用datetime.timedelta
。
要将浮点数转换为timedelta,可以执行以下操作:
from datetime import timedelta
l = [1.24, 3.54, 6.59]
transformed = [timedelta(hours=int(i), minutes=(i % 1) * 100) for i in l]
然后您只需要对列表求和:
sum(transformed, timedelta(0, 0))
答案 1 :(得分:0)
永远不要像预定义的数据结构(在这种情况下为列表)那样命名变量。
一种解决方法是简单地将分钟数汇总为总和,然后转换回您具有的格式:
l = [1.24, 3.54, 6.59]
res = 0
for i in l:
res += i//1*60 + i%1*100
print(res/60//1, 'hours', res%60, 'minutes')
#12.0 hours 17.0 minutes