以下是一个示例代码,可以将一个列表中的日期按照每个月分组:
import datetime
# 原始日期列表
dates = [
datetime.datetime(2022, 1, 5),
datetime.datetime(2022, 1, 15),
datetime.datetime(2022, 2, 10),
datetime.datetime(2022, 3, 8),
datetime.datetime(2022, 3, 20),
datetime.datetime(2022, 4, 5)
]
# 创建一个空字典,用于存储分组后的日期
grouped_dates = {}
# 遍历原始日期列表
for date in dates:
# 获取日期的年份和月份
year = date.year
month = date.month
# 创建一个键,格式为 年份-月份,例如 "2022-1"
key = f"{year}-{month}"
# 如果键不存在,则创建一个空列表作为值
if key not in grouped_dates:
grouped_dates[key] = []
# 将日期添加到对应的键的值列表中
grouped_dates[key].append(date)
# 打印分组后的日期
for key, value in grouped_dates.items():
print(f"{key}: {value}")
运行上述代码,输出结果如下:
2022-1: [datetime.datetime(2022, 1, 5), datetime.datetime(2022, 1, 15)]
2022-2: [datetime.datetime(2022, 2, 10)]
2022-3: [datetime.datetime(2022, 3, 8), datetime.datetime(2022, 3, 20)]
2022-4: [datetime.datetime(2022, 4, 5)]
以上代码使用了datetime
模块来处理日期,首先遍历原始日期列表,获取每个日期的年份和月份,然后创建一个以年份和月份为键的字典。如果键不存在,则创建一个空列表作为值,然后将日期添加到对应的值列表中。最后,遍历分组后的日期字典,打印出每个月份对应的日期列表。
上一篇:按每个月份拆分INT的总和
下一篇:按每个月计算新用户的数量的SQL