我有一个这样的列表:
list = [1.24, 3.54, 6.59]
假设我想将其中两个列表对象添加在一起--,即3.54 + 6.59
。如何添加这些对象,将它们视为小时和分钟(hh.mm
(?
一种可能的做法是使用datetime.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))
您永远不应该像预定义的数据结构(本例中为列表(那样命名变量。
解决这个问题的一种方法是简单地转换为分钟总和,然后转换回您所拥有的格式:
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