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 MySQLdb Windows下安装教程及问题解决方法
May 09 Python
Python读写unicode文件的方法
Jul 10 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
解决python删除文件的权限错误问题
Apr 24 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
Python sorted排序方法如何实现
Mar 31 Python
python爬虫请求头设置代码
Jul 28 Python
Python Opencv图像处理基本操作代码详解
Aug 31 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数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
php header功能的使用
2013/10/28 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php删除指定目录的方法
2015/04/03 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
jquery密码强度校验
2015/12/02 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
layui表格数据重载
2019/07/27 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
python计算N天之后日期的方法
2015/03/31 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
信访工作者先进事迹
2014/01/17 职场文书
超市采购员岗位职责
2014/02/01 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript