在python中,使用iter函數(shù)可以獲得有序聚合類型的迭代器,我個(gè)人將迭代器理解為帶有next指針的單向鏈表,獲取到的迭代器為鏈表的表頭,表頭內(nèi)容為空,next指針指向有序聚合類型的第一個(gè)元素。在訪問鏈表最后一個(gè)元素的next指針時(shí),python會(huì)報(bào)錯(cuò)StopIteration。
Python3.x以上的版本在使用next函數(shù)時(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()在上述代碼中,文件對(duì)象file_obj為有序聚合類型,for循環(huán)會(huì)自動(dòng)調(diào)用file_obj的迭代器,并調(diào)用該迭代器的next函數(shù),知道發(fā)生StopIteration錯(cuò)誤。
下邊的代碼模擬for循環(huán)中的迭代器,顯式調(diào)用next函數(shù)訪問字符串的元素。
s='www.scu.edu.com' it=iter(s)length=len(s)i=0while i<length: print(it.__next__()) i=i+1
以上這篇對(duì)Python 3.2 迭代器的next函數(shù)實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選