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实现ping的方法
Jul 06 Python
简单学习Python time模块
Apr 29 Python
python中函数默认值使用注意点详解
Jun 01 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
Mar 09 Python
python 的topk算法实例
Apr 02 Python
基于python实现数组格式参数加密计算
Apr 21 Python
Django实现内容缓存实例方法
Jun 30 Python
Python 读取位于包中的数据文件
Aug 07 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+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
python打开网页和暂停实例
2014/09/30 Python
python批量提取word内信息
2015/08/09 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
python中必要的名词解释
2019/11/20 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
使用python求解二次规划的问题
2020/02/29 Python
英国鞋网:Rubber Sole
2020/03/03 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
优秀医生事迹材料
2014/02/12 职场文书
2015年护士节活动总结
2015/02/10 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers