range(start,stop,step):根据start和stop的范围[start,stop)以及step的步长生成一个序列。
示例:
range(5)-->[0,1,2,3,4]
range(0,5) -->[0,1,2,3,4]
range(0,5,2) -->[0,2,4]
xrange(start,stop,step):用法和range相同,但是生成一个生成器,可迭代对象。
示例:
xrange(5) -->xrange(5)
list(xrange(5)) -->[0,1,2,3,4]
list(xrange(0,5,2)) -->[0,2,4]
1.要生成很大的数字序列时,xrange会比较好,因为不需要一开始就开辟一大块内存用来预备使用。
2.两者在循环中使用,输出结果是一样的
3.range返回一个list对象,xrange返回一各生成器对象
4.xrange不会直接生成一个list,而是每次调用返回其中一个值,内存空间使用较少,性能好
5.python 3.x中已经去掉xrange,全部用range代替。
python3.x中,要想生成range的列表,也需要使用List(range())
几个例子:
x = reversed(range(2,9))
print(list(x))
#输出:[8,7,6,5,4,3,2]
print(list(range(4,2,-1))
#输出:[4,3]