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多线程和队列操作实例
Jun 21 Python
Python中Django 后台自定义表单控件
Mar 28 Python
python去除扩展名的实例讲解
Apr 23 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
Python连接字符串过程详解
Jan 06 Python
python动态文本进度条的实例代码
Jan 22 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
Python调用飞书发送消息的示例
Nov 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中使用Oracle数据库(6)
2006/10/09 PHP
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php接口技术实例详解
2016/12/07 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
Python命名空间详解
2014/08/18 Python
python 默认参数问题的陷阱
2016/02/29 Python
python爬虫之百度API调用方法
2017/06/11 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
python读取和保存图片5种方法对比
2018/09/12 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
自荐信的两点禁忌
2013/10/30 职场文书
幼儿园老师寄语
2014/04/03 职场文书
导游词之镇江焦山
2019/11/21 职场文书
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
APP界面设计技巧和注意事项
2022/04/29 杂记
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS