1、 迭代比直接使用列表遍歷效率根據高。比如字典的keys函式返回的列表,以及iterkeys返回的迭代器。
2、 reversed() 內建函式將返回乙個反序訪問的迭代器.引數必須為序列。
3、 enumerate:返回乙個迭代器:有索引值。
4、 for eachline in myfile 替換 for eachline in myfile.readlines() :
5、注意:在迭代的過程中不可以更改序列,否則會引發問題,導致迭代出錯。
6、 可以自己定義乙個類,可以迭代使用。不過需要定義方法:__iter__,next。
7、
1、 yield關鍵字可以阻塞住函式的執行,並且儲存當前的執行環境,整個包被稱為生成器。
2、 生成器可以通過呼叫生成器函式來建立。生成器函式是指包含關鍵字yield的函式。
3、 生成器可以通過.next()來執行。每呼叫一次,就執行**,直到遇到yield關鍵字停止,並且返回yield關鍵字後面的表示式的值。
4、 可以通過呼叫send()函式來傳送訊息到生成器中。a = yield l:表示將send的入參賦值給a。
5、 throw:允許客戶端傳入要丟擲的任何異常。
6、 和throw相同,只不過是要丟擲乙個特定的異常:generatorexit。
生成器和迭代器
可以直接作用於for迴圈的物件稱為可迭代物件 iterable.可以用isinstance 判斷乙個物件是否是iterable物件。isinstance iterable true isinstance iterable true isinstance 235,iterable false 而生成器...
迭代器和生成器
1 迭代器的概念 print dir 告訴我列表的所有用法 有雙下劃線的所有方法叫做雙下方法,是c語言已經寫好的方法。你可以用不止一種方法呼叫它。列表的用法變集合 set dir 求交集 set dir set dir set dir 求列表,字典,字串它們的用法的交集 他們共同的用法 iterab...
生成器和迭代器
1.iterator 迭代器 舉例 我們對list使用for for i in 1,2,3,4 print i 12 34對string物件使用for for ch in python print ch py thon對字典物件使用for for k in print k yx對檔案使用for fo...