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使用calendar输出指定年份全年日历的方法
Apr 04 Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
Python实现京东秒杀功能代码
May 16 Python
python字符串替换第一个字符串的方法
Jun 26 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
500行python代码实现飞机大战
Apr 24 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
Opencv常见图像格式Data Type及代码实例
Nov 02 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
提问的智慧
2006/10/09 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
php数据序列化测试实例详解
2017/08/12 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
js实现每日签到功能
2018/11/29 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python多线程下载文件的方法
2015/07/10 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
Python for循环与getitem的关系详解
2020/01/02 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python识别验证码图片实例详解
2020/02/17 Python
基于Python绘制个人足迹地图
2020/06/01 Python
python中有帮助函数吗
2020/06/19 Python
django和flask哪个值得研究学习
2020/07/31 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
4S店售后客服自我评价
2014/04/09 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
nginx七层负载均衡配置详解
2022/07/15 Servers