對Python 3.2 迭代器的next函數(shù)實例講解
在python中,使用iter函數(shù)可以獲得有序聚合類型的迭代器,我個人將迭代器理解為帶有next指針的單向鏈表,獲取到的迭代器為鏈表的表頭,表頭內(nèi)容為空,next指針指向有序聚合類型的第一個元素。在訪問鏈表最后一個元素的next指針時,python會報錯StopIteration。
Python3.x以上的版本在使用next函數(shù)時需要注意的是:next()函數(shù)在3.x以上的版本更改為__next__().
使用for迭代器打印文件中的內(nèi)容的代碼如下:
file_obj=open(r'E:\Project\Python\123.txt','r') for string in file_obj: string=string.rstrip('\n') print(string) file_obj.close()
在上述代碼中,文件對象file_obj為有序聚合類型,for循環(huán)會自動調(diào)用file_obj的迭代器,并調(diào)用該迭代器的next函數(shù),知道發(fā)生StopIteration錯誤。
下邊的代碼模擬for循環(huán)中的迭代器,顯式調(diào)用next函數(shù)訪問字符串的元素。
s='www.scu.edu.com' it=iter(s) length=len(s) i=0 while i<length: print(it.__next__()) i=i+1
以上這篇對Python 3.2 迭代器的next函數(shù)實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用Celery構(gòu)建異步任務(wù)隊列提高服務(wù)器吞吐量及響應(yīng)速度
這篇文章主要介紹了python使用Celery構(gòu)建異步任務(wù)隊列提高服務(wù)器吞吐量及響應(yīng)速度實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01Python用字典統(tǒng)計CSV數(shù)據(jù)的實現(xiàn)示例
python提供了許多處理CSV文件的工具,其中字典是一個非常高效的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了Python用字典統(tǒng)計CSV數(shù)據(jù)的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2024-05-05用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機
大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01Python3 tkinter 實現(xiàn)文件讀取及保存功能
tkinter是一個跨平臺的GUI庫,開發(fā)的程序可以在win,linux或者mac下運行,tkinter是python自帶的GUI庫,是對圖形庫TK的封裝。本文通過實例代碼給大家介紹Python3 tkinter 實現(xiàn)文件讀取及保存功能,感興趣的朋友跟隨小編一起看看吧2019-09-09