python怎么生成一个迭代器,对于需要处理大型数据来说,迭代器是必不可少的,这样可节省大量内存空间,更加合理操作数据。
首先我们打开编辑器,这里以sublime text3作为示范,创建一个新的py文档。
1
2
3
4
5
|
rg = range ( 100 )
for i in rg:
print (i)
|
我们知道range可以涵盖比较广的范围,但是如果数据太大的时候,一次性打印会占用比较多内存。
1
2
3
4
5
|
rg = range ( 100 )
rg_iter = iter (rg)
print (rg_iter)
|
那么这个时候我们就可以用iter()来创建迭代器。打印一下可以看到迭代器对象。
1
2
3
4
5
6
7
|
rg = range ( 100 )
rg_iter = iter (rg)
for i in rg_iter:
print (i)
|
同样,我们可以用for循环来进行遍历数据。
1
2
3
4
5
|
rg = range ( 100 )
rg_iter = iter (rg)
print (rg_iter. next ())
|
我们可以用next()来调用数据,但是这里出错了,是因为python3不能这么书写了。
1
2
3
4
5
|
rg = range ( 100 )
rg_iter = iter (rg)
print (rg_iter.__next__())
|
实际上我们需要写__next__(),这是新版本的要求。
1
2
3
4
5
6
7
8
9
|
rg = range ( 100 )
rg_iter = iter (rg)
print (rg_iter.__next__())
print (rg_iter.__next__())
print (rg_iter.__next__())
|
如果我们要调用多个,只需要多次输入__next__()即可。