4 回答

TA贡献1836条经验 获得超5个赞
是的,有可能。
带while
循环:
while True: ...
随着for
(只是踢)循环:
from itertools import cycle for _ in cycle(range(1)): ...
无限期的cycle
回报1
。
无论哪种情况,都取决于您以最终终止的方式来实现循环逻辑。最后,如果要实现execute-until -___循环,则应坚持使用while True
,因为这是惯用的方式。

TA贡献1876条经验 获得超5个赞
我从这里和这里找到答案
使用itertools.count:
import itertools
for i in itertools.count():
if there_is_a_reason_to_break(i):
break
在Python2中,xrange()仅限于sys.maxint,对于大多数实际目的而言可能已足够:
import sys
for i in xrange(sys.maxint):
if there_is_a_reason_to_break(i):
break
在Python3中,range()可以更高,尽管不能达到无穷大:
import sys
for i in range(sys.maxsize**10): # you could go even higher if you really want
if there_is_a_reason_to_break(i):
break
因此,最好使用 count()
也可以通过更改要迭代的列表来实现此目的,例如:
l = [1]
for x in l:
l.append(x + 1)
print(x)
添加回答
举报