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之网站的结构
Oct 24 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
基于python socketserver框架全面解析
Sep 21 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
如何查看python关键字
Jan 17 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
PHP 截取字符串专题集合
2010/08/19 PHP
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
微信支付开发维权通知实例
2016/07/12 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
jQuery事件处理的特征(事件命名机制)
2016/08/23 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
JS实现无限轮播无倒退效果
2020/09/21 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
Python实现基于HTTP文件传输实例
2014/11/08 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
创建Django项目图文实例详解
2019/06/06 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
实习单位接收函模板
2014/01/10 职场文书
优秀经理事迹材料
2014/02/01 职场文书
书香校园建设方案
2014/05/02 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
三八妇女节致辞
2015/07/31 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis