以下是一个示例代码,展示如何按日期累计列表中的值:
from collections import defaultdict
from datetime import datetime
# 假设输入的列表包含日期和值的元组
input_list = [
('2021-01-01', 10),
('2021-01-02', 20),
('2021-01-01', 5),
('2021-01-03', 15),
('2021-01-02', 5),
]
# 创建一个 defaultdict 来存储按日期累计的值
cumulative_dict = defaultdict(int)
# 遍历输入列表,将值累加到对应的日期上
for date_str, value in input_list:
date = datetime.strptime(date_str, '%Y-%m-%d').date()
cumulative_dict[date] += value
# 输出按日期累计的列表
for date, cumulative_value in sorted(cumulative_dict.items()):
print(f'{date}: {cumulative_value}')
以上代码会输出以下结果:
2021-01-01: 15
2021-01-02: 25
2021-01-03: 15
这个例子中使用了 defaultdict
来创建一个默认值为 0 的字典,用于存储按日期累计的值。然后,遍历输入列表,将每个日期的值累加到字典中对应的日期上。最后,按日期排序输出累计的列表。
上一篇:按日期累积