Есть ли элегантный и питонный способ отловить первый и последний элемент в цикле for, который перебирает генератор?
from calendar import Calendar
cal = Calendar(6)
month_dates = cal.itermonthdates(year, month)
for date in month_dates:
if (is first item): # this is fake
month_start = date
if (is last item): # so is this
month_end = date
Этот код пытается получить первый день недели, в котором заканчивается месяц, и последний день недели, в котором заканчивается месяц. Пример: в июне месячный старт должен оцениваться до 31.05.09. Хотя технически это майский день, это первый день недели, с которого начинается июнь.
Месяц-дата - это генератор, поэтому я не могу сделать [: -1]. Какой лучший способ справиться с этим?