以下是一个示例解决方法,用Python编写:
from datetime import datetime, timedelta
# 创建一个示例对象列表
objects = [
{'name': 'object1', 'timestamp': datetime(2022, 1, 1, 0, 0, 0)},
{'name': 'object2', 'timestamp': datetime(2022, 1, 2, 0, 0, 0)},
{'name': 'object3', 'timestamp': datetime(2022, 1, 2, 12, 0, 0)},
{'name': 'object4', 'timestamp': datetime(2022, 1, 3, 0, 0, 0)},
{'name': 'object5', 'timestamp': datetime(2022, 1, 4, 0, 0, 0)},
]
# 定义时间间隔
interval = timedelta(days=1)
# 创建一个空字典用于存储分组结果
groups = {}
# 遍历对象列表
for obj in objects:
# 计算对象所属的分组
group_key = obj['timestamp'] // interval
# 如果分组不存在,则创建一个空列表
if group_key not in groups:
groups[group_key] = []
# 将对象添加到相应的分组中
groups[group_key].append(obj)
# 输出分组结果
for group_key, group_objects in groups.items():
print(f"Group {group_key}:")
for obj in group_objects:
print(obj['name'])
print()
上述代码将对象按照每天为间隔进行分组,并按照分组的顺序输出分组结果。在示例中,对象列表中的对象根据其timestamp
属性被分成了3组。你可以根据需要调整时间间隔和对象列表。
上一篇:按时间间隔处理流元素
下一篇:按时间间隔对结果集进行分组