Итератор Python: используйте каждую последующую запись как начало и конец - PullRequest
0 голосов
/ 18 октября 2018

Я хочу найти недели между двумя датами и перебрать их.Я хотел бы, чтобы каждая последовательная запись начиналась и заканчивалась.Например, список с индексами 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 голосов
/ 18 октября 2018

Вы можете архивировать список дат с самим собой, но с одним индексом отдельно.Например:

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)))
...