range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
xrange([start,] stop[, step]),用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。range会直接生成一个list对象,而xrange则不会直接生成一个list,而是每次调用返回其中的一个值。
a = range(0,10)
print type(a)
print a
b = xrange(0,10)
print type(b)
print b
结果为:
<type 'list'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<type 'xrange'>
xrange(10)