欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python中的迭代器有什么用-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)主營青河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,青河h5微信小程序搭建,青河網(wǎng)站營銷推廣歡迎青河等地區(qū)企業(yè)咨詢

這篇文章運(yùn)用簡單易懂的例子給大家介紹python中的迭代器有什么用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

什么是Python迭代器?

迭代器(Iterator):迭代器可以看作是一個(gè)特殊的對(duì)象,每次調(diào)用該對(duì)象時(shí)會(huì)返回自身的下一個(gè)元素,從實(shí)現(xiàn)上來看,一個(gè)迭代器對(duì)象必須是定義了__iter__()方法和next()方法的對(duì)象。

1、Python的Iterator對(duì)象表示的是一個(gè)數(shù)據(jù)流,可以把這個(gè)數(shù)據(jù)流看做是一個(gè)有序序列,但我們卻不能提前知道序列的長度,所以Iterator的計(jì)算是惰性的,只有在需要返回下一個(gè)數(shù)據(jù)時(shí)它才會(huì)計(jì)算。

2、Iterator對(duì)象可以被next()函數(shù)調(diào)用并不斷返回下一個(gè)數(shù)據(jù),直到?jīng)]有數(shù)據(jù)時(shí)拋出StopIteration錯(cuò)誤。

3、所有的Iterable可迭代對(duì)象均可以通過內(nèi)置函數(shù)iter()來轉(zhuǎn)變?yōu)榈鱅terator。__iter__( )方法是讓對(duì)象可以用for … in循環(huán)遍歷時(shí)找到數(shù)據(jù)對(duì)象的位置,next( )方法是讓對(duì)象可以通過next(實(shí)例名)訪問下一個(gè)元素。除了通過內(nèi)置函數(shù)next調(diào)用可以判斷是否為迭代器外,還可以通過collection中的Iterator類型判斷。如: isinstance(’’, Iterator)可以判斷字符串類型是否迭代器。注意: list、dict、str雖然是Iterable,卻不是Iterator。

4、迭代器優(yōu)點(diǎn):節(jié)約內(nèi)存(循環(huán)過程中,數(shù)據(jù)不用一次讀入,在處理文件對(duì)象時(shí)特別有用,因?yàn)槲募彩堑鲗?duì)象)、不依賴索引取值、實(shí)現(xiàn)惰性計(jì)算(需要時(shí)再取值計(jì)算)。

舉例:用迭代器的方式訪問文件

for line in open(“test.txt”):
    print(line)

這樣每次讀取一行就輸出一行,而不是一次性將整個(gè)文件讀入,節(jié)約內(nèi)存。

5、迭代器使用上存在限制:只能向前一個(gè)個(gè)地訪問數(shù)據(jù),已訪問數(shù)據(jù)無法再次訪問、遍歷訪問一次后再訪問無數(shù)據(jù)。

舉例:

l = [1,2,3,4]
i=iter(l) #從list列表生成迭代器i
list(i) #將迭代器內(nèi)容轉(zhuǎn)換成列表,輸出[1,2,3,4]
list(i) #將迭代器內(nèi)容再次轉(zhuǎn)換成列表,輸出[]

用for循環(huán)訪問:

i=iter(l)
for k in i:
    print(k) #輸出1、2、3、4
for k in i:
    print(k) #再次循環(huán)沒有輸出

如果需要解決這個(gè)問題,可以分別定義一個(gè)可迭代對(duì)象,每次訪問前從可迭代對(duì)象重新生成和迭代器對(duì)象;

6、迭代器當(dāng)所有的元素全部取出后再次調(diào)用next就會(huì)拋出一個(gè)StopIteration異常,這并不是錯(cuò)誤的發(fā)生,而是告訴外部調(diào)用者迭代完成了。

關(guān)于python中的迭代器有什么用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁標(biāo)題:python中的迭代器有什么用-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://www.aaarwkj.com/article8/ppgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)App設(shè)計(jì)、建站公司、網(wǎng)站維護(hù)定制網(wǎng)站網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
欧美亚洲五月婷婷激情| 久久欧精品欧美日韩精品| 亚洲精品区免费观看av| 亚洲精品隔壁傲慢人妻| 最新日本欧美一区二区| 亚洲综合中文字幕精品| 国产欧美一区二区三区高清| 欧美日本国产专区一区| 国产精品自拍国产精品| 91欧美精品午夜性色福利| 亚洲欧美久久一区二区三区| 成人国产精品三上悠亚久久| 欧美日韩激情在线一区| 久久精品免费激情视频| 天堂在线精品亚洲综合网| 蜜桃精品国产一区二区三区 | 久久精品国产亚洲熟女| 国产精品av一区二区在线| 久久香蕉国产线看观看亚洲| av福利一区二区三区| 国产网红女主播视频一区二区| 亚洲黄色av乱码在线观看| 中文字幕乱码在线观看一区| av男人的天堂一区二区| 激情内射日本一区二区三区| 久久久久久这里都是精品| 日本91一区二区不卡| 激情av一区二区不卡| 日本在线不卡二区三区| 精彩国产av一区二区三区| 一区二区高清免费日本| 国产精品福利午夜在线观看| 日韩在线视频不卡播放| 麻豆国产传媒片在线看| 天堂av五月在线观看| 日韩在线中文字幕一区| 男女性情视频免费大全网站| 久久人婷婷人人澡人人爽| 国产日韩精品专区一区| 成年爽片在线观看播放欧美| 国产91精品在线观看|