如何在python中创建一个以小时和分钟为单位统计条目的列表



我有一个这样的列表:

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

最新更新