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新手实现2048小游戏
Mar 31 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
使用tensorflow实现AlexNet
Nov 20 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
Django migrations 默认目录修改的方法教程
Sep 28 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
Django中间件基础用法详解
Jul 18 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
django在开发中取消外键约束的实现
May 20 Python
如何表示python中的相对路径
Jul 08 Python
利用django创建一个简易的博客网站的示例
Sep 29 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 定界符格式引起的错误
2011/05/24 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
IE 下的只读 innerHTML
2009/08/21 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python绘制3D图形
2018/05/03 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
阳光体育活动总结
2014/04/30 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
重阳节慰问信
2015/02/15 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书