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

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://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| 国产美女作爱视频网站| 色在线观看综合亚洲欧洲| 欧美日韩在线视频第三区| 亚洲熟妇av乱码在线| 在线天堂一区二区三区| 亚洲乱码精品一区二区| 欧美大片免费高清观看| 日韩一级不卡高清视频| 国产在线观看一区二区三区精品| 亚洲国产一区二区高清| 强d乱码中文字幕在线| 国产精品日产三级在线观看| 国产欧美日韩精品一区| 日本一区二区裸体视频| 丰满人妻熟妇乱精品视频| av资源中文字幕在线天堂| 国产男女免费完整视频| 国产又粗又猛又爽黄老大爷| 日本高清三级精品一区二区| 日韩三级一区二区三区| 欧美日韩国产另类久久| 久久精品国产成人综合| 欧美午夜福利一级高清| 日韩电影中文字幕一区| 中文字幕一区精品日韩| 日本av免费观看一区二区| 国产麻豆91在线视频| 美女性生活免费视频网站 | 成年免费视频一区二区三区| 国产午夜视频在线观看一区| 99久久偷拍美女大白屁股| 国内精品人妻久久毛片| 麻豆国产av巨做国产剧情| 中文字幕人妻丝乱一区三区| 日本av人妻在线观看| 免费欧美一级黄片播放| 女优一区二区三区蜜桃| 欧美性色黄大片人与善| 国产三级视频在线2022|