以下是一个示例代码,演示了如何按照时间戳对对象进行分组列表:
from itertools import groupby
# 样本数据
data = [
{"name": "obj1", "timestamp": 1577836800},
{"name": "obj2", "timestamp": 1577836801},
{"name": "obj3", "timestamp": 1577836802},
{"name": "obj4", "timestamp": 1577836801},
{"name": "obj5", "timestamp": 1577836802},
{"name": "obj6", "timestamp": 1577836803},
]
# 按时间戳排序
data.sort(key=lambda obj: obj["timestamp"])
# 按时间戳分组
groups = groupby(data, key=lambda obj: obj["timestamp"])
# 输出分组结果
for key, group in groups:
print(f"Group {key}")
for obj in group:
print(obj)
print()
运行上述代码将输出以下结果:
Group 1577836800
{'name': 'obj1', 'timestamp': 1577836800}
Group 1577836801
{'name': 'obj2', 'timestamp': 1577836801}
{'name': 'obj4', 'timestamp': 1577836801}
Group 1577836802
{'name': 'obj3', 'timestamp': 1577836802}
{'name': 'obj5', 'timestamp': 1577836802}
Group 1577836803
{'name': 'obj6', 'timestamp': 1577836803}
这样,对象根据时间戳被正确地分组在一起。