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中的一些高级编程技巧
Apr 02 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
Python命令启动Web服务器实例详解
Feb 23 Python
Python学生成绩管理系统简洁版
Apr 05 Python
对python中的logger模块全面讲解
Apr 28 Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
java判断三位数的实例讲解
Jun 10 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
Python3将ipa包中的文件按大小排序
Apr 17 Python
python Zmail模块简介与使用示例
Dec 19 Python
十个Python自动化常用操作,即拿即用
May 10 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/05/12 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
小学生家长评语大全
2014/02/10 职场文书
新春文艺演出主持词
2014/03/27 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
公务员年度个人总结
2015/02/12 职场文书
党支部鉴定意见
2015/06/02 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python