Python的range和xrange的区别
for i in range(1, 5):
print(i)
# i 返回1,2,3,4
for i in xrange(1, 5):
#返回同上
Python 2.x中:
xrange用法与range完全相同,所不同的是range生成的是一个list,内存将会分布相应的长度的空间给list。而xrange生成的是一个生成器。要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一开始就开辟一块很大的内存空间
Python 3.x中:
取消了xrange, Python3中返回的是一个range对象(class),并没有将数据完全实例化,所以内存中只有一个对象的空间。
range用法详细说明:
>>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []