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__()即可。