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 15 Python
Python创建日历实例
Aug 21 Python
Python 性能优化技巧总结
Nov 01 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
python实现对csv文件的列的内容读取
Jul 04 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
keras中的卷积层&amp;池化层的用法
May 22 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 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系统命令函数使用分析
2013/07/05 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
python list元素为tuple时的排序方法
2018/04/18 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
使用pip安装python库的多种方式
2019/07/31 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
市场营销专业毕业生求职信
2014/03/26 职场文书
企业总经理任命书
2014/06/05 职场文书
学雷锋宣传标语
2014/06/25 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
优秀班组事迹材料
2014/12/24 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
心得体会格式及范文
2016/01/25 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
python和anaconda的区别
2022/05/06 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android