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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
Python中使用动态变量名的方法
May 06 Python
python访问系统环境变量的方法
Apr 29 Python
Python学习思维导图(必看篇)
Jun 26 Python
对Python中的@classmethod用法详解
Apr 21 Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
Django执行源生mysql语句实现过程解析
Nov 12 Python
pandas实现导出数据的四种方式
Dec 13 Python
Python装饰器详细介绍
Mar 25 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+MySQL的聊天室设计
2006/10/09 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
python 输出一个两行字符的变量
2009/02/05 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python的time模块中的常用方法整理
2015/06/18 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
现代化办公人员工作的自我评价
2013/10/16 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
法定授权委托证明书
2015/06/18 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
Hive HQL支持2种查询语句风格
2022/06/25 数据库