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 socket编程实例详解
May 27 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python反转序列的方法实例分析
Mar 21 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
python的dict判断key是否存在的方法
Dec 09 Python
解决pytorch 保存模型遇到的问题
Mar 03 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php的大小写敏感问题整理
2011/12/29 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
python处理cookie详解
2014/02/07 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
python-地图可视化组件folium的操作
2020/12/14 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
文秘专业个人求职信
2013/12/22 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
小学班长竞选稿
2015/11/20 职场文书