前面理解了迭代器的要點和實現。從這裡來講我們使用迭代器就僅僅是為了讓它在for迴圈中使用,目前看起來是這樣。但實際上,迭代器是為了我們接著來說的生成器。老師舉了乙個非常淺顯易懂的例子來說明迭代器的用法。老師說他乙個星期不想下樓吃飯,有2種做法,一是一次買很多饅頭,每天吃乙個;還有一種是每天吃的時候叫外賣送。如果放在程式中來講就是一次儲存很多資料,以備將來使用;二是用的時候生成資料。很顯然第二種方法更加節約空間。這就是迭代器的高階用法,儲存生成資料的**(或者說是方法),而不是資料列表,也就是生成器。生成器是一種特殊的迭代器。特殊在它沒有__next__方法,但也一樣可以像迭代器那樣使用。
舉例來說:
rang(1,10)返回的是列表[1,2,3,4,5,6,7,8,9,10]
xrange(1,10)返回的是乙個物件,這個物件儲存了得到上述列表的方法。
Python3 迭代器和生成器
1.迭代器 iterator 迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。迭代器有兩個基本的方法 iter 和next list 1,2,3,4 it iter list 建立迭代器物件 for x in it ne...
Python迭代器和生成器
先說迭代器,對於string list dict tuple等這類容器物件,使用for迴圈遍歷是很方便的。在後台for語句對容器物件呼叫iter 函式,iter 是python的內建函式。iter 會返回乙個定義了next 方法的迭代器物件,它在容器中逐個訪問容器內元素,next 也是python的...
Python迭代器和生成器
迭代器是訪問集合元素的一種方法 是可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問 他有兩個基本的方法,iter 和next 字串,列表或遠足物件都可以用於建立迭代器 list1 1,2,3,4 it1 iter list1 建立迭代器物件 print next ...