Python生成一个迭代器的实操方法
2019-06-18 16:26
2111 查看
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生成一个导出数据库的bat脚本文件的方法
- 编写一个Python程序,从控制台输入一个整数(大于0),然后利用format方法生成一个星号塔
- Python3基础 生成一个可以使用for循环可迭代的类,具有__iter__和__next__的方法的类
- 利用struts commons BeanUtils写的一个自动生成toString()方法的工具
- 不生成一个新的LIST而直接对LIST的项目进行操作(转自python-cn list)
- (原创)利用扩展方法,给 IEnumerable<T> 增加一个生成 Html 的 CheckBox 标签的方法,不用 C# 中的反射技术
- 一个用ASP生成html的新方法
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- jsp生成html(方法简单,只用使用一个serlvet)
- 关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结
- 不用模板,只用ASP+FSO生成静态HTML页的一个方法(对于内容密集型页面特别适用) 选择自 goaler 的 Blog
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- 网站登录页面,验证码的一个生成方法
- 上传图片并生成缩略图的一个方法
- PHP生成UUID的一个方法
- python判断一个字符串是否为另一字符串的子串的几种方法
- Python基础教程——9魔法方法、属性及迭代器【总结】
- 介绍一个生成随机密码的方法
- 不用模板,只用ASP+FSO生成静态HTML页的一个方法
- 不用模板,只用ASP+FSO生成静态HTML页的一个方法