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

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