真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python迭代器是什么及有哪些優(yōu)缺點

這篇文章主要介紹“Python迭代器是什么及有哪些優(yōu)缺點”,在日常操作中,相信很多人在Python迭代器是什么及有哪些優(yōu)缺點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python迭代器是什么及有哪些優(yōu)缺點”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為蓮都等服務(wù)建站,蓮都等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為蓮都企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

迭代器介紹

概念:

迭代器是?迭代取值的工具,迭代是一個重復(fù)的過程,每次重復(fù)都是基于上一次的結(jié)果而繼續(xù),單純的重復(fù)并不是迭代

特征:

并不依賴索引,是通過next指針(內(nèi)存地址尋址)迭代所有數(shù)據(jù)。一次只取一個值,而不是一股腦的把所有數(shù)據(jù)放進內(nèi)存

迭代器對象

1.什么是可迭代對象

    內(nèi)置有__iter__方法的都可以稱之為可迭代對象

2.屬于可迭代對象的有

    字符串 列表 字典 元組 集合 文件對象

3.可迭代對象調(diào)用雙下iter方法就會變成迭代器對象

    內(nèi)置有__iter__和__next__方法的稱之為迭代器對象

4.迭代器對象調(diào)用雙下next方法就是在迭代取值

    for循環(huán)內(nèi)部采用的就是該原理

"""

迭代器對象可以節(jié)省內(nèi)存空間 并且 提供了一種不依賴于索引取值的方式

"""

for循環(huán)底層原理

for 變量名 in 可迭代對象:
  for循環(huán)體代碼
1.將in后面的可迭代對象調(diào)用雙下iter變成迭代器對象
  迭代器對象無限制再調(diào)用雙下iter還是迭代器對象本身
2.讓生成的迭代器對象調(diào)用雙下next迭代取值
3.一旦取值完畢雙下next方法會報錯 for循環(huán)會自動捕獲并處理

迭代器的優(yōu)缺點

優(yōu)點:

1、為序列和非序列類型提供了一種統(tǒng)一的迭代取值方式。

2、惰性計算:迭代器對象表示的是一個數(shù)據(jù)流,可以只在需要時才去調(diào)用next來計算出一個值,就迭代器本身來說,同一時刻在內(nèi)存中只有一個值,因而可以存放無限大的數(shù)據(jù)流,而對于其他容器類型,如列表,需要把所有的元素都存放于內(nèi)存中,受內(nèi)存大小的限制,可以存放的值的個數(shù)是有限的。

 缺點:

1、除非取盡,否則無法獲取迭代器的長度

2、只能取下一個值,不能回到開始,更像是‘一次性的’,迭代器產(chǎn)生后的唯一目標(biāo)就是重復(fù)執(zhí)行next方法直到值取盡,否則就會停留在某個位置,等待下一次調(diào)用next;若是要再次迭代同個對象,你只能重新調(diào)用iter方法去創(chuàng)建一個新的迭代器對象,如果有兩個或者多個循環(huán)使用同一個迭代器,必然只會有一個循環(huán)能取到值。

到此,關(guān)于“Python迭代器是什么及有哪些優(yōu)缺點”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站題目:Python迭代器是什么及有哪些優(yōu)缺點
網(wǎng)站鏈接:http://weahome.cn/article/pejcsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部