您好,登錄后才能下訂單哦!
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__()即可。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。