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内置数据类型详解
Aug 18 Python
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
详细讲解Python中的文件I/O操作
May 24 Python
python实现数独算法实例
Jun 09 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
利用PyTorch实现VGG16教程
Jun 24 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 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 file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
解读Python编程中的命名空间与作用域
2015/10/16 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
浅谈python锁与死锁问题
2020/08/14 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
儿科护士实习自我鉴定
2013/10/17 职场文书
应届生自我鉴定
2013/12/11 职场文书
班组长竞聘书
2014/03/31 职场文书
标准毕业生自荐信
2014/06/24 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python