544 Stimmen

Iteration durch eine Reihe von Daten in Python

Ich habe den folgenden Code, um dies zu tun, aber wie kann ich es besser machen? Im Moment denke ich, es ist besser als verschachtelte Schleifen, aber es beginnt, Perl-one-linerish zu bekommen, wenn Sie einen Generator in einer Liste Verständnis haben.

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

Notas

  • Ich benutze das Gerät nicht zum Drucken. Das ist nur zu Demonstrationszwecken.
  • Le site start_date y end_date Variablen sind datetime.date Objekte, da ich die Zeitstempel nicht benötige. (Sie werden verwendet, um einen Bericht zu erstellen).

Beispielhafte Ausgabe

Für ein Startdatum von 2009-05-30 und ein Enddatum von 2009-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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X