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 del()函数用法
Mar 24 Python
Python中除法使用的注意事项
Aug 21 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python实现简易端口扫描器代码实例
Mar 15 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
Djang的model创建的字段和参数详解
Jul 27 Python
使用Python实现分别输出每个数组
Dec 06 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
Restful_framework视图组件代码实例解析
Nov 17 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
python使用numpy中的size()函数实例用法详解
Jan 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实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
React实现全选功能
2020/08/25 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
使用SAE部署Python运行环境的教程
2015/05/05 Python
python实现一次创建多级目录的方法
2015/05/15 Python
python web框架学习笔记
2016/05/03 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
详解flask表单提交的两种方式
2018/07/21 Python
python flask实现分页的示例代码
2018/08/02 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
对Python 语音识别框架详解
2018/12/24 Python
Python绘制动态水球图过程详解
2020/06/03 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
主持人婚宴答谢词
2014/01/28 职场文书
一岗双责责任书
2014/04/15 职场文书
销售提升方案
2014/06/07 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
php将xml转化对象的实例详解
2021/11/17 PHP