Python迭代器:使用每个连续的条目作为开始和结束

时间:2018-10-18 02:13:29

标签: python python-3.x rrule

我想找到两个日期之间的星期并对其进行迭代。我希望每个连续的条目都作为开始和结束。例如,索引为0,1,2,3,...的列表,我将开始日期为索引0的内容,结束日期为索引1的内容。第二次迭代,我将开始日期为索引1的内容和结束日期作为索引2的内容,等等。

到目前为止,这是我的代码:

Weekly_date_list=list(rrule(DAILY, dtstart=datetime(2001,1,1),until=datetime(2002,1,1)))

如果我遍历它,只会得到开始日期。

非常感谢,

1 个答案:

答案 0 :(得分:1)

您可以单独压缩日期列表,但要分开一个索引。例如:

dates = [datetime(2001,1,1), datetime(2002,1,1), datetime(2003,1,1)]
for start, until in zip(dates, dates[1:]):
    Weekly_date_list=list(rrule(DAILY, dtstart=start, until=until))

等效于:

Weekly_date_list=list(rrule(DAILY, dtstart=datetime(2001,1,1), until=datetime(2002,1,1)))
Weekly_date_list=list(rrule(DAILY, dtstart=datetime(2002,1,1), until=datetime(2003,1,1)))