iter()用于創建迭代器,next()用于輸出迭代器的下一個元素:
names = ['微湘菜', '小湘菜', '大湘菜', '巨湘菜'] iterName = iter(names) for i in range(4): print(next(iterName))
結果為:
微湘菜
小湘菜
大湘菜
巨湘菜
創建一個迭代器需要在類中實作兩個方法 __iter__() 與 __next__() ,這在python面向物件會詳細解釋
使用了yield的函式即生成器(generator),回傳一個迭代器,每次遇到yield時會暫停運行,在下次執行是會從當前暫停位置繼續運行:
def generator(): print('s') while True: print('微湘菜') yield '小湘菜' print('大湘菜') g = generator() print(next(g)) print(next(g))
結果為:
s
微湘菜
小湘菜
大湘菜
微湘菜
小湘菜
一般在迭代器中都要存在回圈,否則難以迭代
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/458377.html
標籤:其他
