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中使用Tkinter模块创建GUI程序实例
Jan 14 Python
python中threading超线程用法实例分析
May 16 Python
Python下载懒人图库JavaScript特效
May 28 Python
python动态网页批量爬取
Feb 14 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
python让列表倒序输出的实例
Jun 25 Python
详解Python:面向对象编程
Apr 10 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
Python日志syslog使用原理详解
Feb 18 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 Python
python音频处理的示例详解
Dec 23 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实现以只读方式打开文件的方法
2015/03/16 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python多线程分块读取文件
2019/08/29 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
经典洗发水广告词
2014/03/13 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
语文复习计划
2015/01/19 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS