range
函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
代码示例:
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,5)
[1, 2, 3, 4]
>>> range(0,6,2)
[0, 2, 4]
xrange
函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
代码示例:
>>> xrange(5) xrange(5) >>> list(xrange(5)) [0, 1, 2, 3, 4] >>> xrange(1,5) xrange(1, 5) >>> list(xrange(1,5)) [1, 2, 3, 4] >>> xrange(0,6,2) xrange(0, 6, 2) >>> list(xrange(0,6,2)) [0, 2, 4]
由上面的示例可以知道,要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。这两个函数一般都在循环的时候使用。
>>>for i in range(100):
print i
>>>for i in xrange(100):
print i
这两个输出的结果都是一样的,但是实际上有很多不同:
range会直接生成一个list对象;而xrange则不会直接生成一个list,而是每次调用返回其中的一个值。