Python的range和xrange

range

函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。

range示例:

>>> range(6)
[0, 1, 2, 3, 4, 5]
>>> range(0,6,2)
[0, 2, 4]

xrange

函数说明:语法上和range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
xrange示例:

>>> xrange(6)
xrange(6)
>>> list(xrange(6))
[0, 1, 2, 3, 4, 5]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]

range和xrange都在循环时用的比较多,下面来分析一下他们在循环里面的各自表现:

如果循环时用range,由上面结果我们也可以看出,上来就会生成一个数组。若是元素个数少还可以接受,但是如果元素个数非常多,那岂不是要开辟很大的内存来存放这个数组?这对让内存空间亚历山大呀。

如果使用xrange,xrange返回的是一个生成器,一边循环一边计算,每次只返回一个值,这样就不必开辟这么大的内存空间了。

因此,在循环里尽量使用xrange吧,随着元素个数增多,xrange性能要比range好的多。

注意,在python3.x中,xrange被废除了,range功能跟xrange相同。

原文地址:https://www.cnblogs.com/ralap7/p/8949878.html

时间: 2024-10-10 08:16:10

Python的range和xrange的相关文章

python 中range与xrange的区别

先来看看range与xrange的用法介绍 help(range)Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i

python中range和xrange的区别

1.range生成一个列表:xrange生成一个生成器 2.用法都差不多  

Python 之range 和 xrange

我目前使用的版本是2.7.6 >>> help (range)Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers.

Python中range和xrange对比

range 函数说明:range([start,] stop [, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器. xrange示例

python之range和xrange

range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. 比如: 1 >>> range(5) 2 [0, 1, 2, 3, 4] 3 >>> range(1,5) 4 [1, 2, 3, 4] 5 >>> range(0,6,2) 6 [0, 2, 4] xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生

ZH奶酪:Python中range和xrange的区别

range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange    函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrang

Python中range和xrange的异同之处

range 函数说明:range([start,] stop[, step]).依据start与stop指定的范围以及step设定的步长,生成一个序列. range演示样例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange 函数说明:使用方法与range全然同样,所不同的是生成的不是一个数组.而是一个生成器. xrang

【Python那些事儿之十】range()和xrange()

by Harrison Feng in Python 无论是range()还是xrange()都是Python里的内置函数.这个两个内置函数最常用在for循环中.例如: >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> for i in xrange(5): ... print i ... 0 1 2 3 4 >>> range()和xrange() 在Python 2里是两种不同的实现.但是在P

range与xrange的区别

一.Python中range()与xrange()有什么区别 range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 range(6) #[0, 1, 2, 3, 4, 5] range(1,6) #[1, 2, 3, 4, 5] range(1,6,2) #[1, 3, 5] #也就是说range()返回的是个列表 xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器 xrang