Python3如何使用range函数替代xrange函数


Posted in Python onOctober 05, 2020

在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。这个表现十分像生成器(比如。"惰性求值")。但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。

在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。

解决方法

上面讲的原因比较官方,可能很多人不是理解,通俗点讲就是:

因为 python3 中取消了 range 函数,而把 xrange 函数重命名为 range,所以现在直接用 range 函数即可。

因此,在python3版本中,我们只需要直接用range 函数就可以了!而且从某种意义上来说,xrange() 函数用法与 range() 完全相同。如下:

range

函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表。

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10)
[2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10,2)
[2, 4, 6, 8]
>>> type(_)
<type 'list'>

xrange

函数说明:和range 的用法完全相同,但是返回的是一个生成器。

>>> xrange(10)
xrange(10)
>>> xrange(2,10)
xrange(2, 10)
>>> xrange(2,10,2)
xrange(2, 10, 2)
>>> type(_)
<type 'xrange'>
>>> list(xrange(2, 10, 2))
[2, 4, 6, 8]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python抓取手机号归属地信息示例代码
Nov 28 Python
Python实现图片转字符画的示例
Aug 22 Python
celery4+django2定时任务的实现代码
Dec 23 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
Django实现文件上传下载
Oct 06 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
python中的RSA加密与解密实例解析
Nov 18 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
如何更换python默认编辑器的背景色
Aug 10 Python
Python txt文件如何转换成字典
Nov 03 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 Python
Python threading模块condition原理及运行流程详解
Oct 05 #Python
Python urllib库如何添加headers过程解析
Oct 05 #Python
Python3获取cookie常用三种方案
Oct 05 #Python
Python collections.deque双边队列原理详解
Oct 05 #Python
Python全局变量与global关键字常见错误解决方案
Oct 05 #Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 #Python
Python xmltodict模块安装及代码实例
Oct 05 #Python
You might like
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
解决FLASH需要点击激活的代码
2006/12/20 Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
python获取中文字符串长度的方法
2018/11/14 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
python是否适合网页编程详解
2019/10/04 Python
Python模块的制作方法实例分析
2019/12/21 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
趣味活动策划方案
2014/02/08 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书