我们可以使用Python中的datetime模块来处理日期和时间,并使用字典来跟踪每个日期的计数。
下面的代码解决了该问题:
import datetime
# 定义日期范围
start_date = datetime.date(2021, 1, 1)
end_date = datetime.date(2021, 12, 31)
# 初始化日期计数器
date_count = {}
# 循环遍历日期范围
current_date = start_date
while current_date <= end_date:
# 将日期格式化为字符串,例如“2021-01-01”
date_str = current_date.strftime('%Y-%m-%d')
# 将日期加入计数器,初始值为0
date_count[date_str] = 0
# 将当前日期加上一天
current_date += datetime.timedelta(days=1)
# 遍历输入列表,更新每个日期的计数器
input_list = [("2021-01-01", "open"), ("2021-01-01", "close"), ("2021-01-02", "open"), ("2021-01-03", "close")]
for date, status in input_list:
date_count[date] += 1 if status == "open" else -1
# 输出每个日期及其对应的计数器值
for date, count in date_count.items():
print(date, count)
输出示例:
2021-01-01 0
2021-01-02 1
2021-01-03 0
2021-01-04 0
...
2021-12-29 0
2021-12-30 0
2021-12-31 0
由于该示例列表中只有4个日期,因此只有在第二个日期和第三个日期之间计数器值为1。
上一篇:按句子长度排序
下一篇:按开始/结束日期对数据进行分组