如何在python中建立一个以小时和分钟为单位的列表列表?

时间:2018-11-06 09:05:51

标签: python-3.x

我有一个这样的列表:

list = [1.24, 3.54, 6.59]

说我想将这些列表对象中的两个添加在一起- 3.54 + 6.59。我该如何添加它们,将它们视为小时和分钟(hh.mm)?

2 个答案:

答案 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