以下是一个按日期在键上分组的Python字典的解决方法的示例代码:
from datetime import datetime
# 示例数据
data = [
{'date': '2021-01-01', 'value': 10},
{'date': '2021-01-02', 'value': 20},
{'date': '2021-01-01', 'value': 30},
{'date': '2021-01-03', 'value': 40},
]
# 创建一个空字典用于存储按日期分组的数据
grouped_data = {}
# 遍历数据列表
for item in data:
# 将日期字符串转换为日期对象
date = datetime.strptime(item['date'], '%Y-%m-%d').date()
# 检查字典中是否已存在该日期作为键
if date in grouped_data:
# 如果存在,则将当前数据项添加到该日期的值列表中
grouped_data[date].append(item)
else:
# 如果不存在,则创建一个新的键值对,键为日期,值为包含当前数据项的列表
grouped_data[date] = [item]
# 打印按日期分组的数据
for date, items in grouped_data.items():
print(f"{date}: {items}")
输出结果:
2021-01-01: [{'date': '2021-01-01', 'value': 10}, {'date': '2021-01-01', 'value': 30}]
2021-01-02: [{'date': '2021-01-02', 'value': 20}]
2021-01-03: [{'date': '2021-01-03', 'value': 40}]
以上代码将根据日期在键上分组给定的数据,并将每个日期对应的数据项存储在一个列表中。
上一篇:按日期在范围内对查询结果进行分组