Python怎么生成一個迭代器,對于需要處理大型數據來說,迭代器是必不可少的,這樣可節省大量內存空間,更加合理操作數據。
首先我們打開編輯器,這里以Sublime text3作為示范,創建一個新的py文檔。
rg = range(100) for i in rg: print(i)
我們知道range可以涵蓋比較廣的范圍,但是如果數據太大的時候,一次性打印會占用比較多內存。
rg = range(100) rg_iter = iter(rg) print(rg_iter)
那么這個時候我們就可以用 iter() 來創建迭代器。打印一下可以看到迭代器對象。
rg = range(100) rg_iter = iter(rg) for i in rg_iter: print(i)
同樣,我們可以用for循環來進行遍歷數據。
rg = range(100) rg_iter = iter(rg) print(rg_iter.next())
我們可以用 next() 來調用數據,但是這里出錯了,是因為python3不能這么書寫了。
rg = range(100) rg_iter = iter(rg) print(rg_iter.__next__())
實際上我們需要寫 __next__() ,這是新版本的要求。
rg = range(100) rg_iter = iter(rg) print(rg_iter.__next__()) print(rg_iter.__next__()) print(rg_iter.__next__())
如果我們要調用多個,只需要多次輸入__next__()即可。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
