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

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