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爬虫框架Scrapy安装使用步骤
Apr 01 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
python读取ini配置文件过程示范
Dec 23 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
django 扩展user用户字段inlines方式
Mar 30 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
如何在Anaconda中打开python自带idle
Sep 21 Python
提取视频中的音频 Python只需要三行代码!
May 10 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实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
python IDLE添加行号显示教程
2020/04/25 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
学生意外伤害赔偿协议书
2014/09/17 职场文书
2015年母亲节寄语
2015/03/23 职场文书
2016年情人节广告语
2016/01/28 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
合作意向书范本
2019/04/17 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
如何用Python搭建gRPC服务
2021/06/30 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers