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

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

相关文章

Numpy 中的矩阵求逆实例

1. 矩阵求逆 import numpy as np a = np.array([[1, 2], [3, 4]]) # 初始化一个非奇异矩阵(数组) print(np.linalg...

python中requests小技巧

python中requests小技巧

关于  Python requests ,在使用中,总结了一些小技巧把,记录下。 1:保持请求之间的Cookies,我们可以这样做。 2:请求时,会加上headers,一般我...

Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)

Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)

为什么,这么简单的一个python,我还要特意来写一篇文章呢? 是因为留念下,在使用了Anaconda2和Anaconda3的基础上,现在需安装python3.6.0来做数据分析。...

Python 中使用 PyMySQL模块操作数据库的方法

之前用的Python2,连接MySQL用的是MySQLdb。现在换成python3.x了,由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接My...

自己编程中遇到的Python错误和解决方法汇总整理

自己编程中遇到的Python错误和解决方法汇总整理

开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习。 知识在于积累嘛!微笑 ++++++++++++++++++++++++++...