Iterowanie przez szereg dat w Pythonie
Mam do tego następujący kod, ale jak mogę to zrobić lepiej? W tej chwili myślę, że jest lepszy niż zagnieżdżone pętle, ale zaczyna uzyskiwać Perl-one-linerish, gdy masz generator w zrozumieniu listy.
day_count = (end_date - start_date).days + 1
for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d <= end_date]:
print strftime("%Y-%m-%d", single_date.timetuple())
UwagiNie używam tego do drukowania. To tylko dla celów demonstracyjnych.Thestart_date
iend_date
zmienne sądatetime.date
obiekty, ponieważ nie potrzebuję znaczników czasu. (Zostaną użyte do wygenerowania raportu).Przykładowe wyjścieNa datę rozpoczęcia2009-05-30
i data końcowa2009-06-09
:
2009-05-30
2009-05-31
2009-06-01
2009-06-02
2009-06-03
2009-06-04
2009-06-05
2009-06-06
2009-06-07
2009-06-08
2009-06-09