以下是一个示例代码,展示了按日期在时间轴上分组的解决方法。
from datetime import datetime
# 示例数据
data = [
{'date': '2022-01-01', 'event': 'Event 1'},
{'date': '2022-01-02', 'event': 'Event 2'},
{'date': '2022-01-01', 'event': 'Event 3'},
{'date': '2022-01-03', 'event': 'Event 4'},
{'date': '2022-01-02', 'event': 'Event 5'}
]
# 创建一个字典,用于按日期分组事件
grouped_data = {}
# 遍历每个事件
for event in data:
# 解析日期字符串为datetime对象
date = datetime.strptime(event['date'], '%Y-%m-%d')
# 检查日期是否已经存在于字典中
if date in grouped_data:
# 如果日期已经存在,则将事件添加到对应的日期列表中
grouped_data[date].append(event['event'])
else:
# 如果日期不存在,则创建一个新的日期键,并将事件添加到列表中
grouped_data[date] = [event['event']]
# 输出按日期分组的事件
for date, events in grouped_data.items():
print(f'{date.strftime("%Y-%m-%d")}: {events}')
以上代码会输出以下结果:
2022-01-01: ['Event 1', 'Event 3']
2022-01-02: ['Event 2', 'Event 5']
2022-01-03: ['Event 4']
该示例代码首先创建了一个空字典 grouped_data
,用于按日期分组事件。然后,遍历每个事件,将日期字符串解析为 datetime
对象。接着,检查日期是否已经存在于字典中。如果日期已经存在,则将事件添加到对应的日期列表中;如果日期不存在,则创建一个新的日期键,并将事件添加到列表中。最后,按日期顺序输出分组的事件。