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 相关文章推荐
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
python对于requests的封装方法详解
Jan 03 Python
对python函数签名的方法详解
Jan 22 Python
使用pandas读取文件的实现
Jul 31 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Python 如何创建一个线程池
Jul 28 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
详解Pycharm安装及Django安装配置指南
Sep 15 Python
python 下载文件的多种方法汇总
Nov 17 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 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自定义函数收代码
2010/08/01 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
jquery编写日期选择器
2017/03/16 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
Python 调用DLL操作抄表机
2009/01/12 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
中专自我鉴定
2014/02/05 职场文书
大学生就业策划书范文
2014/04/04 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
单位证明范文
2015/06/18 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis