Python生成一个迭代器的实操方法

yipeiwu_com6年前Python基础

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

相关文章

Python字符串中查找子串小技巧

惭愧啊,今天写了个查找子串的Python程序被BS了… 如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码: 复制代码 代码如下: #determine...

python调用新浪微博API项目实践

python调用新浪微博API项目实践

因为最近接触到调用新浪微博开放接口的项目,所以就想试试用python调用微博API。 SDK下载地址:http://open.weibo.com/wiki/SDK 代码不多十几K,完全可...

Python使用Tkinter实现机器人走迷宫

Python使用Tkinter实现机器人走迷宫

这本是课程的一个作业研究搜索算法,当时研究了一下Tkinter,然后写了个很简单的机器人走迷宫的界面,并且使用了各种搜索算法来进行搜索,如下图: 使用A*寻找最优路径: 由于...

python实现在windows服务中新建进程的方法

本文实例讲述了python实现在windows服务中新建进程的方法。分享给大家供大家参考。具体实现方法如下: 需要安装的软件:python和pywin32,我这里装的分别是python-...

python生成特定分布数的实例

我就废话不多说了,直接上代码吧! from scipy.stats import binom, norm, beta, expon import numpy as np import...