掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
迭代器(Iterator):迭代器可以看作是一個特殊的對象,每次調(diào)用該對象時會返回自身的下一個元素,從實現(xiàn)上來看,一個迭代器對象

延川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
必須是定義了__iter__()方法和next()方法的對象。
Python的Iterator對象表示的是一個數(shù)據(jù)流,可以把這個數(shù)據(jù)流看做是一個有序序列,但我們卻不能提前知道序列的長度,所以Iterator
的計算是惰性的,只有在需要返回下一個數(shù)據(jù)時它才會計算;Iterator對象可以被next()函數(shù)調(diào)用并不斷返回下一個數(shù)據(jù),直到?jīng)]有數(shù)據(jù)
時拋出StopIteration錯誤;所有的Iterable可迭代對象均可以通過內(nèi)置函數(shù)iter()來轉(zhuǎn)變?yōu)榈鱅terator。__iter__( )方法是讓對象可以用
for … in循環(huán)遍歷時找到數(shù)據(jù)對象的位置,next( )方法是讓對象可以通過next(實例名)訪問下一個元素。除了通過內(nèi)置函數(shù)next調(diào)用可以
判斷是否為迭代器外,還可以通過collection中的Iterator類型判斷。如: isinstance(’’, Iterator)可以判斷字符串類型是否迭代器。注
意: list、dict、str雖然是Iterable,卻不是Iterator。迭代器優(yōu)點:節(jié)約內(nèi)存(循環(huán)過程中,數(shù)據(jù)不用一次讀入,在處理文件對象時特別
有用,因為文件也是迭代器對象)、不依賴索引取值、實現(xiàn)惰性計算(需要時再取值計算)。
python學(xué)習(xí)網(wǎng),免費(fèi)的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流