python迭代器实例简析


Posted in Python onSeptember 25, 2014

本文实例讲述了python迭代器的简单用法,分享给大家供大家参考。具体分析如下:

生成器表达式是用来生成函数调用时序列参数的一种迭代器写法

生成器对象可以遍历或转化为列表(或元组等数据结构),但不能切片(slicing)。当函数的唯一的实参是可迭代序列时,便可以去掉生成器表达式两端>的圆括号,写出更优雅的代码:

>>>> sum(i for i in xrange(10))
 45

sum声明:

sum(iterable[, start])
Sums start and the items of an iterable from left to right and returns the total. start defaults to 0. The iterable‘s items are normally numbers, and are not allowed to be strings. The fast, correct way to concatenate a sequence of strings is by calling ''.join(sequence). Note that sum(range(n), m) is equivalent to reduce(operator.add, range(n), m) To add floating point values with extended precision, see math.fsum().

参数要求传入可迭代序列,我们传入一个生成器对象,完美实现。

注意区分下面代码:

上面的j为生成器类型,下面的j为list类型:

j = (i for i in range(10)) 
print j,type(j) 
print '*'*70 
 
j = [i for i in range(10)] 
print j,type(j)

结果:

<generator object <genexpr> at 0x01CB1A30> <type 'generator'>
**********************************************************************
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <type 'list'>

希望本文所述对大家Python程序设计的学习有所帮助。

Python 相关文章推荐
从零学python系列之从文件读取和保存数据
May 23 Python
Python中IPYTHON入门实例
May 11 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
用Python实现读写锁的示例代码
Nov 05 Python
python实现二维插值的三维显示
Dec 17 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
python如何求100以内的素数
May 27 Python
python实现跨年表白神器--你值得拥有
Jan 04 Python
Python中itertools模块用法详解
Sep 25 #Python
Python中unittest用法实例
Sep 25 #Python
跟老齐学Python之赋值,简单也不简单
Sep 24 #Python
跟老齐学Python之深入变量和引用对象
Sep 24 #Python
Python greenlet实现原理和使用示例
Sep 24 #Python
跟老齐学Python之数据类型总结
Sep 24 #Python
跟老齐学Python之集合的关系
Sep 24 #Python
You might like
PHP系统流量分析的程序
2006/10/09 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python Socket编程入门教程
2014/07/11 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
计算机专业毕业生自荐信范文
2014/03/06 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers