gpt4 book ai didi

python - 按天分割日期范围并使用Python制作列表日期间隔列表

转载 作者:行者123 更新时间:2023-12-01 02:57:34 27 4
gpt4 key购买 nike

我有诸如“2017-05-01”、“2017-05-18”之类的日期范围。因此,我想按每日间隔分割此范围并得到这样的结果: [["2017-05-01","2017-05-02"], ["2017-05-3","2017- 05-04"], ....]

最佳答案

首先,将其分解为两个步骤:

  1. 生成从一个日期到另一个日期的每一天
  2. 将列表 [a,b,c,d] 转换为对 [[a,b],[c,d]]

对于第一步,这里有一个答案:Iterating through a range of dates in Python其中定义了以下生成器:

from datetime import timedelta, date

def daterange(start_date, end_date):
for n in range(int ((end_date - start_date).days)):
yield start_date + timedelta(n)

如果我们然后将使用 the itertools documentation 中的定义的那些配对:

def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return zip_longest(*args, fillvalue=fillvalue)

那么我们可以将它们组合在一起来制作所需的生成器:

daypairs = grouper(daterange(start_date, end_date), 2)

并列出它:

daypairslist = list(daypairs)

等等

关于python - 按天分割日期范围并使用Python制作列表日期间隔列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44071541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com