當前位置:成語大全網 - 書法字典 - 5.叠代程序

5.叠代程序

可以使用isinstance,需要導入模塊。

以下類型:str/list/tuple/dict/set/for都是叠代對象。

要將類視為叠代器,我們需要在類中實現兩個方法:iter()和next()。

Zip生成列表,生成字典。

zip()函數以壹系列叠代的對象為參數,將不同對象中對應的元素打包成壹個元組,返回由這些元組組成的列表。

enumerate()函數用於將可遍歷的數據對象(如列表、元組或字符串)組合成壹個索引序列,同時列出數據和數據下標,壹般用於for循環中。

Enumerate(seq,[start=0]),返回枚舉的對象。

6、

'''

Yield,首先可以看作是return,程序返回某個值,返回後程序不會運行下來。

生成器的壹部分:帶yield的函數是真正的叠代器。

'''

適用於遍歷龐大或無限的集合,例如幾個G文件:

對於不能隨機訪問的數據結構:set(),叠代器是訪問元素的唯壹方式。

節省內存:叠代器不會壹次性將所有元素加載到內存中,也沒有必要提前準備好整個叠代過程中的所有元素。只有叠代到壹個元素時,元素才能被計算,在此之前或之後,元素都不能存在或被銷毀。

關於叠代器,更多實際應用,歡迎補充~