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利用matplotlib库绘制饼图的方法示例
Dec 18 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
Python 编程速成(推荐)
Apr 15 Python
如何使用Python实现自动化水军评论
Jun 26 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
使用Python制作一个打字训练小工具
Oct 01 Python
Python实现图片识别加翻译功能
Dec 26 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 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时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
javascript 函数使用说明
2010/04/07 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
Python常见数据结构详解
2014/07/24 Python
Python探索之SocketServer详解
2017/10/28 Python
使用Python来开发微信功能
2018/06/13 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python3 简单实现组合设计模式
2020/07/02 Python
关于python中导入文件到list的问题
2020/10/31 Python
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
2014年三八妇女节活动方案
2014/02/28 职场文书
车队司机自我鉴定
2014/03/02 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
华清池导游词
2015/02/02 职场文书
董事长新年致辞
2015/07/29 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Javascript设计模式之原型模式详细
2021/10/05 Javascript