如何在Python中创建无限循环(不使用while循环)?

时间:2016-04-29 11:04:46

标签: python for-loop

有没有办法在Python中编写无限循环?

for t in range(0,10):
    if(t == 9): t= 0 # will this set t to 0 and launch infinite loop? No!
    print(t)

一般来说,有没有办法在不使用while循环的情况下在java中编写无限pythonic for循环?

4 个答案:

答案 0 :(得分:4)

您应该使用cycle

创建自己的无限生成器
from itertools import cycle

gen = cycle([0])

for elt in gen:
    # do stuff

或基本上使用itertools.count()

for elt in itertools.count():
    # do stuff

答案 1 :(得分:4)

itertools.repeat函数会无休止地返回一个对象,所以你可以循环遍历:

import itertools
for x in itertools.repeat(1):
    pass

答案 2 :(得分:2)

要反复迭代迭代,您可以使用itertools.cycle

from itertools import cycle
for t in cycle(range(0, 4)):
    print(t)

这将打印以下输出:

0
1
2
3
0
1
2
3
0
1
...

答案 3 :(得分:-1)

只是通过可以帮助永远真正的价值。

while True:
    pass