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实现的解析crontab配置文件代码
Jun 30 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
python list元素为tuple时的排序方法
Apr 18 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
Pytorch之Variable的用法
Dec 31 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
python 如何执行控制台命令与操作剪切板
May 20 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调用三种数据库的方法(3)
2006/10/09 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js读取配置文件自写
2014/02/11 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
python 判断一个进程是否存在
2009/04/09 Python
跟老齐学Python之用while来循环
2014/10/02 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python爬取51job中hr的邮箱
2016/05/14 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
Python 线程池用法简单示例
2019/10/02 Python
python3排序的实例方法
2020/10/20 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
行政助理求职自荐信
2013/10/26 职场文书
党章学习思想汇报
2014/01/14 职场文书
广告宣传策划方案
2014/05/21 职场文书
人事专员岗位说明书
2014/07/29 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python