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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
Python之用户输入的实例
Jun 22 Python
pandas删除指定行详解
Apr 04 Python
python读取并写入mat文件的方法
Jul 12 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python如何判断IP地址合法性
Apr 05 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
python计算auc的方法
Sep 09 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比较多维数组中值的大小排序实现代码
2012/09/08 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
php文件系统处理方法小结
2016/05/23 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
Node中使用ES6语法的基础教程
2018/01/05 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
python抓取网页内容示例分享
2014/02/24 Python
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
python实现图片中文字分割效果
2019/07/22 Python
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
英文商务邀请信
2014/01/22 职场文书
优秀幼教自荐信
2014/02/03 职场文书
晚归检讨书
2014/02/19 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
个人委托书怎么写
2014/09/17 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
上课说话检讨书500字
2014/11/01 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
红歌会主持词
2015/07/02 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
社区结对共建协议书
2016/03/23 职场文书
JavaScript 对象创建的3种方法
2021/11/17 Javascript
Python Django项目和应用的创建详解
2021/11/27 Python
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL