首先python2中有range函数和xrange函数,python3中只有range函数。
Python2中 range和xrange:
range函数可用来创建一个整数列表,即list。
例如:
>>>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]
xrange用法与range不同,xrange返回的是一个xrange类型,是个生成器。
xrange类型代表序列不可变的数,通常在for循环中被用来进行指定次数的循环。
相对于常规的list,tuple类型,range类型的优点是无论range计算的范围有多大,
每个range对象总是保存着相同的内存,因为每次只会存储start,stop和step值,所以内存也很小。
只有在需要的时候才会去计算.
Python3中没有xrange,只有range,其实Python3中的并不是取消的xrange,而是取消了range。
同时将xrange重新命名为range,python中的range函数返回的一个可迭代对象,是range对象。
函数用法:
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
打印range对象的时候使用使用list方法。
>>> list(range(5))
[0, 1, 2, 3, 4]
>>>list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
##range用于for循环 a = 'ccd' for i in range(len(a)): print(a[i]) c c d