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的web框架中的Model的教程
Apr 29 Python
Python文档生成工具pydoc使用介绍
Jun 02 Python
python 默认参数问题的陷阱
Feb 29 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
Nov 06 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
python移位运算的实现
Jul 15 Python
Python Pandas对缺失值的处理方法
Sep 27 Python
Python 去除字符串中指定字符串
Mar 05 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
python 下载文件的几种方式分享
Apr 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
python通过Windows下远程控制Linux系统
2018/06/20 Python
python实现推箱子游戏
2020/03/25 Python
python配置grpc环境
2019/01/01 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
求职自荐信范文格式
2013/11/29 职场文书
施工资料员岗位职责
2014/01/06 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年保管员工作总结
2015/04/30 职场文书
《植树问题》教学反思
2016/03/03 职场文书
Python实现为PDF去除水印的示例代码
2022/04/03 Python