Itérer sur une série de dates peut être une tâche courante dans la programmation Python. Examinons comment améliorer l'efficacité de cette opération.
Dans un premier temps, une solution utilisant une boucle imbriquée et une compréhension du générateur a été proposée :
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()))
Une suggestion était de simplifier le code en éliminant un itération :
for single_date in (start_date + timedelta(n) for n in range(day_count)): print(...)
Cette approche reste claire et concise tout en itérant efficacement sur la date requise range.
Une solution alternative, plus élégante, consiste à créer une fonction génératrice pour gérer l'itération :
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"))
Cette fonction génératrice encapsule la logique d'itération, simplifiant le code d'appel et favorisant la réutilisabilité. En comprenant les différentes approches, les développeurs peuvent choisir l'option qui correspond le mieux à leurs besoins spécifiques, en privilégiant l'efficacité et la lisibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!