gpt4 book ai didi

python - 根据关闭日期时间属性对对象列表进行分组

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:37 24 4
gpt4 key购买 nike

假设我有一个对象列表。其中每一个都有一个表示日期的字符串(可由 dateutil 解析)。我怎样才能将这些分组到列表列表中,其中每个子列表包含连续的(5 分钟内)对象?例如:

o1.time = "2016-03-01 23:25:00-08:00"
o2.time = "2016-03-01 23:30:00-08:00"
o3.time = "2016-03-01 23:35:00-08:00"
o4.time = "2016-03-02 12:35:00-08:00"

list1 = [o1, o2, o3, o4]
list2 = group_by_time(list1)

此时 list2 将是

[[o1,o2,o3],[o4]]

似乎应该有一个使用 lambdas 或 itertools 以及 dateutil 的 python 解决方案,但我的谷歌学校让我失望。

谢谢!

最佳答案

看看groupby来自 itertools 的函数。它获取对象列表并根据关键函数对它们进行分组。您的代码可能如下所示

from dateutil.parser import parse
from itertools import groupby

def rounded_date(item):
d = parse(item.time)
# round date
return d

grouped_items = groupby(items, keyfunc=rounded_date)

查看此问题以了解如何舍入日期时间:How to round the minute of a datetime object python

关于python - 根据关闭日期时间属性对对象列表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766034/

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