這篇文章主要介紹“Python迭代器是什么及有哪些優缺點”,在日常操作中,相信很多人在Python迭代器是什么及有哪些優缺點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python迭代器是什么及有哪些優缺點”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創新互聯于2013年創立,先為蓮都等服務建站,蓮都等地企業,進行企業商務咨詢服務。為蓮都企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
概念:
迭代器是?迭代取值的工具,迭代是一個重復的過程,每次重復都是基于上一次的結果而繼續,單純的重復并不是迭代
特征:
并不依賴索引,是通過next指針(內存地址尋址)迭代所有數據。一次只取一個值,而不是一股腦的把所有數據放進內存
1.什么是可迭代對象 內置有__iter__方法的都可以稱之為可迭代對象 2.屬于可迭代對象的有 字符串 列表 字典 元組 集合 文件對象 3.可迭代對象調用雙下iter方法就會變成迭代器對象 內置有__iter__和__next__方法的稱之為迭代器對象 4.迭代器對象調用雙下next方法就是在迭代取值 for循環內部采用的就是該原理 """ 迭代器對象可以節省內存空間 并且 提供了一種不依賴于索引取值的方式 """
for 變量名 in 可迭代對象: for循環體代碼 1.將in后面的可迭代對象調用雙下iter變成迭代器對象 迭代器對象無限制再調用雙下iter還是迭代器對象本身 2.讓生成的迭代器對象調用雙下next迭代取值 3.一旦取值完畢雙下next方法會報錯 for循環會自動捕獲并處理
優點:
1、為序列和非序列類型提供了一種統一的迭代取值方式。
2、惰性計算:迭代器對象表示的是一個數據流,可以只在需要時才去調用next來計算出一個值,就迭代器本身來說,同一時刻在內存中只有一個值,因而可以存放無限大的數據流,而對于其他容器類型,如列表,需要把所有的元素都存放于內存中,受內存大小的限制,可以存放的值的個數是有限的。
缺點:
1、除非取盡,否則無法獲取迭代器的長度
2、只能取下一個值,不能回到開始,更像是‘一次性的’,迭代器產生后的唯一目標就是重復執行next方法直到值取盡,否則就會停留在某個位置,等待下一次調用next;若是要再次迭代同個對象,你只能重新調用iter方法去創建一個新的迭代器對象,如果有兩個或者多個循環使用同一個迭代器,必然只會有一個循環能取到值。
到此,關于“Python迭代器是什么及有哪些優缺點”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
網頁題目:Python迭代器是什么及有哪些優缺點
網址分享:http://vcdvsql.cn/article32/pejcsc.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、小程序開發、Google、網站改版、、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯