Python3如何使用range函数替代xrange函数
在 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+opencv识别图片中的圆形(霍夫变换)
这篇文章主要介绍了详解利用python+opencv识别图片中的圆形(霍夫变换),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-07-07
使用Django xadmin 实现修改时间选择器为不可输入状态
这篇文章主要介绍了使用Django xadmin 实现修改时间选择器为不可输入状态,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03
Python列表(list)、字典(dict)、字符串(string)基本操作小结
这篇文章主要介绍了Python列表(list)、字典(dict)、字符串(string)基本操作小结,本文总结了最基本最常用的一些操作,需要的朋友可以参考下2014-11-11
Python selenium find_element()示例详解
selenium定位元素的函数/方法可以分为两类:find_element及find_elements,下面这篇文章主要给大家介绍了关于Python selenium find_element()的相关资料,需要的朋友可以参考下2022-07-07
结合Python工具使用TfidfVectorizer进行文本特征提取方式
在自然语言处理中,TF-IDF是一种重要的特征提取方法,本文介绍了如何使用Python的sklearn库中的TfidfVectorizer进行文本特征提取,首先,需要安装sklearn库,TfidfVectorizer能将文本文档集合转换为TF-IDF特征矩阵2024-10-10


最新评论