有沒有辦法在Python中編寫一個無限for循環?如何在Python中創建無限循環(不使用while循環)?
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循環?
有沒有辦法在Python中編寫一個無限for循環?如何在Python中創建無限循環(不使用while循環)?
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循環?
只是傳遞可以用永遠的真正價值有所幫助。
while True:
pass
你應該創建自己的無限發電機cycle
from itertools import cycle
gen = cycle([0])
for elt in gen:
# do stuff
或基本使用itertools.count()
:
for elt in itertools.count():
# do stuff
你是什麼意思的'循環(_)'(下劃線)? –
這是一個一次性變量的約定 – mvelay
是的,但它沒有在你的例子中分配。運行它,你會得到一個'NameError:name'_'未定義'。 –
的itertools.repeat功能會不斷地返回一個對象,所以你可以循環結束於:
for x in itertools.repeat(1):
pass
要通過遍歷一個迭代一遍又一遍,你會使用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
...
我很好奇,你爲什麼問這個問題? –
@ joelgoldstick,即時製作關於python高中的幻燈片,我做了一個關於無限循環和好奇 - 有辦法在python中做無限循環,所以這就是爲什麼要求 – ERJAN