以下是一个示例代码,展示如何按照最近日期分组:
from datetime import datetime
# 假设有一个包含日期的列表
dates = [
datetime(2021, 9, 1),
datetime(2021, 9, 2),
datetime(2021, 9, 3),
datetime(2021, 8, 29),
datetime(2021, 8, 30),
datetime(2021, 8, 31),
datetime(2021, 8, 25),
datetime(2021, 8, 26),
datetime(2021, 8, 27),
]
# 首先,将日期列表按照最近日期排序
sorted_dates = sorted(dates, reverse=True)
# 创建一个空字典,用于存储分组后的日期
date_groups = {}
# 遍历排序后的日期列表
for date in sorted_dates:
# 提取日期的年份和月份作为分组的键
key = (date.year, date.month)
# 如果键不存在,创建一个新的列表作为值,并将当前日期添加进去
if key not in date_groups:
date_groups[key] = [date]
else:
# 如果键已经存在,直接将当前日期添加进对应的列表
date_groups[key].append(date)
# 打印分组后的结果
for key, group in date_groups.items():
print(f"Group {key}:")
for date in group:
print(date)
print()
以上示例代码将给定的日期列表按照最近日期进行分组,并打印出每个分组的日期。输出结果类似于:
Group (2021, 9):
2021-09-03 00:00:00
2021-09-02 00:00:00
2021-09-01 00:00:00
Group (2021, 8):
2021-08-31 00:00:00
2021-08-30 00:00:00
2021-08-29 00:00:00
2021-08-27 00:00:00
2021-08-26 00:00:00
2021-08-25 00:00:00
上一篇:按最近日期查询并分组行项目。