我想创建一个Python函数,允许我从起始点迭代到终止点的月份。例如,它看起来会像这样:
def months(start_month, start_year, end_month, end_year):
调用months(8, 2010, 3, 2011)
将返回:
((8, 2010), (9, 2010), (10, 2010), (11, 2010), (12, 2010), (1, 2011), (2, 2011), (3, 2011))
该函数可以返回一个元组嵌套的元组,但我希望它作为生成器 (即使用yield
)。
我已经检查了Python模块calendar
,但它似乎没有提供此功能。我可以轻松地编写一个丑陋的for
循环来完成它,但我对看到一个优美的解决方案感兴趣。
谢谢。
if start_year == end_year
,if end_year - start_year > 1
等等... 这似乎不是最优美的解决方案。 - dgeldateutil
模块在这里可能很有用。 - k107