【发布时间】:2010-12-29 08:05:08
【问题描述】:
Python 的迭代器非常棒,但有时我确实想要 C 风格的 for 循环——而不是 foreach 循环。例如,我有一个开始日期和一个结束日期,我想在这个范围内的每一天做一些事情。当然,我可以使用 while 循环来做到这一点:
current = start
while current <= finish:
do_stuff(current)
current += timedelta(1)
这可行,但它是 3 行而不是 1 行(在 C 或基于 C 的语言中)而且我经常发现自己忘记编写递增行,尤其是在循环体非常复杂的情况下。在 Python 中是否有更优雅且不易出错的方式来执行此操作?
【问题讨论】: