有没有一种方法可以基于另一个列表对一个列表求和?

时间:2019-03-29 21:27:53

标签: python

Python 3根据另一个列表中的日期对时间列表求和。

我使用提到的代码来计算总时间,但是我试图汇总每个日期的时间。例如'02 -01-2019'应总计为'08:00:00'。

Date = ['01-01-2019', '02-01-2019', '02-01-2019']

Time = ['07:00:00', '06:00:00','02:00:00']


total = 0
for t in Time:   
    h, m, s = map(int, t.split(":"))
    total += 3600*h + 60*m + s
    d="%02d:%02d:%02d" % (total / 3600, total / 60 % 60, total % 60)

我需要一个if语句来检查每个日期的时间总和> ='08:00:00'。

例如

if time_for_each_date>='08:00:00':

   do something

else do something else.

1 个答案:

答案 0 :(得分:0)

这可能有助于您开始实现最终目标:

Date = ['01-01-2019', '02-01-2019', '02-01-2019']

Time = ['07:00:00', '06:00:00','02:00:00']

import datetime

data = zip(Date, Time)

dates = []

for d in data:
    dt = datetime.datetime.strptime("{}, {}".format(*d), "%m-%d-%Y, %H:%M:%S")
    dates.append(dt)

totals = {}
for d in dates:
    if d.date() not in totals: totals[d.date()] = d.hour
    else: totals[d.date()] += d.hour

for date, time in totals.items():
    if time >= 8:
        # do something
        print('do something:', date)
    else:
        print('do something else.')
相关问题