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处理html转义字符的方法详解

本文实例讲述了python处理html转义字符的方法。分享给大家供大家参考,具体如下: 最近在用Python处理网页数据时,经常遇到一些html转义字符(也叫html字符实体),例如&l...

深入解析python中的实例方法、类方法和静态方法

深入解析python中的实例方法、类方法和静态方法

1、实例方法/对象方法 实例方法或者叫对象方法,指的是我们在类中定义的普通方法。 只有实例化对象之后才可以使用的方法,该方法的第一个形参接收的一定是对象本身 2、静态方法 (1).格式...

Python使用指定端口进行http请求的例子

使用requests库 class SourcePortAdapter(HTTPAdapter): """"Transport adapter" that allows us to...

Python面向对象之类的内置attr属性示例

本文实例讲述了Python面向对象之类的内置attr属性。分享给大家供大家参考,具体如下: 这个比较简单。 代码示例: # -*- coding:utf-8 -*- #! pytho...

用Python删除本地目录下某一时间点之前创建的所有文件的实例

因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作。网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如...