gpt4 book ai didi

python - 将 python 列表分组为 3 小时的时间段

转载 作者:行者123 更新时间:2023-11-28 22:51:13 25 4
gpt4 key购买 nike

我有一个类似这样的列表:

[{datetime.date(2014, 2, 13): [datetime.time(13, 53, 53), datetime.time(13, 7, 52), datetime.time(12, 43, 35), datetime.time(12, 3, 14), datetime.time(11, 54, 53), datetime.time(10, 52, 42), datetime.time(10, 46, 3), datetime.time(10, 32, 50), datetime.time(10, 32, 38), datetime.time(10, 27, 38), datetime.time(10, 13, 50), datetime.time(10, 9, 59), datetime.time(10, 9, 48), datetime.time(10, 7, 42), datetime.time(10, 7, 20), datetime.time(10, 5, 5)]}

我想将整个内容放入 3 小时的时间段中,这样它就可以显示为:

datetime.date(2014, 2, 14):

time-slot :
datetime.time(0,0,0) - datetime.time(3,0,0)
.
. #all times in this slot
datetime.time(3,0,0) - datetime.time(6,0,0)
.
. #all times in this slot

等等.. 我不太明白该怎么做。谁能提供一些提示或一些算法,让我了解如何执行此操作?

最佳答案

from pprint import pprint
result = {}
for current_dict in d:
for key in current_dict:
slots = {}
for item in current_dict[key]:
slots.setdefault(item.hour/3+1, [])
slots[item.hour/3+1].append(item)
result[key] = slots
pprint(result)

输出

{datetime.date(2014, 2, 13): {4: [datetime.time(11, 54, 53),
datetime.time(10, 52, 42),
datetime.time(10, 46, 3),
datetime.time(10, 32, 50),
datetime.time(10, 32, 38),
datetime.time(10, 27, 38),
datetime.time(10, 13, 50),
datetime.time(10, 9, 59),
datetime.time(10, 9, 48),
datetime.time(10, 7, 42),
datetime.time(10, 7, 20),
datetime.time(10, 5, 5)],
5: [datetime.time(13, 53, 53),
datetime.time(13, 7, 52),
datetime.time(12, 43, 35),
datetime.time(12, 3, 14)]}}

关于python - 将 python 列表分组为 3 小时的时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21772329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com