如何用for循環實現一個無限循環

使用while True可以輕鬆的實現一個無限循環,也叫死循環,那麼for循環能夠實現類似的功能麼?當然可以,藉助itertools模塊的cycle函數就可以

**import time
from itertools import cycle
cycle_iter = cycle([100, 200, 300])
for item in cycle_iter:
    print(item)
    time.sleep(1)**

這個for循環會一直進行下去,循環輸出100, 200, 300。函數cycle()僅僅是爲了實現無限循環麼?當然不是, 它提供的是一種循環遍歷的方法,下面的示例向你展示這個函數的實際應用

**lst1 = ['red', 'blue', 'white']
lst2 = ['A', 'B', 'C', 'D', 'E', 'F', 'G']**

這裏有兩個列表,現在要求你將兩個列表裏的元素進行拼接,拼接時按照順序一對一的拼接在一起,最後的結果如下

**red_A, blue_B, white_C, red_D, blue_E, white_F, red_G**

如果使用普通的方法,實現這個功能還是有一點麻煩,但使用cycle()就變得非常簡單

**from itertools import cycle
lst1 = ['red', 'blue', 'white']
lst2 = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
lst = []
color_cycle = cycle(['red', 'blue', 'white'])
for item in lst2:
    color = next(color_cycle)
    lst.append('{color}_{char}'.format(color=color, char=item))
print(lst)**
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章