Das Iterieren durch eine Reihe von Datumsangaben kann eine häufige Aufgabe in der Python-Programmierung sein. Lassen Sie uns untersuchen, wie die Effizienz dieses Vorgangs verbessert werden kann.
Zunächst wurde eine Lösung vorgeschlagen, die eine verschachtelte Schleife und Generatorverständnis nutzt:
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()))
Ein Vorschlag bestand darin, den Code durch Eliminierung eines Codes zu vereinfachen Iteration:
for single_date in (start_date + timedelta(n) for n in range(day_count)): print(...)
Dieser Ansatz bleibt klar und prägnant und iteriert gleichzeitig effektiv über das erforderliche Datum Bereich.
Eine alternative, elegantere Lösung besteht darin, eine Generatorfunktion zur Handhabung der Iteration zu erstellen:
from datetime import date, timedelta def daterange(start_date: date, end_date: date): days = int((end_date - start_date).days) for n in range(days): yield start_date + timedelta(n) for single_date in daterange(start_date, end_date): print(single_date.strftime("%Y-%m-%d"))
Diese Generatorfunktion kapselt die Iterationslogik, vereinfacht den aufrufenden Code und fördert die Wiederverwendbarkeit. Durch das Verständnis der verschiedenen Ansätze können Entwickler die Option auswählen, die ihren spezifischen Anforderungen am besten entspricht, wobei Effizienz und Lesbarkeit Vorrang haben.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Datumsbereich in Python effizient durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!