有没有一种方法可以在另一个列表的基础上求和?

2024-03-28 10:18:49 发布

您现在位置:Python中文网/ 问答频道 /正文

python3根据另一个列表中的日期对时间列表求和。你知道吗

我使用上面提到的代码来计算总时间,但是我正在尝试聚合每个日期的时间。e、 g.“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.

Tags: 代码inmap列表fordateiftime
1条回答
网友
1楼 · 发布于 2024-03-28 10:18:49

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

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.')

相关问题 更多 >