用途
python range() 函数可创建一个整数列表,一般用在 for 循环中。
xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器。
要生成很大的数字序列的时候,用xrange会比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)
# python2.7下
a = range(0, 5)
print type(a) # <type 'list'>
print(a) # <type 'list'>
print(a[0]) # 0
b = xrange(0, 5)
print type(b) # <type 'list'>
print(b) # <type 'list'>
print(b[0]) # 0
注意
python3 取消了 xrange() 函数,并且和 range() 函数合并为 range()
# python 3.7下
a = range(0, 5)
print(type(a)) # <class 'range'>
print(a) # <class 'range'>
print(a[0]) # 0
b = xrange(0, 5) # NameError: name 'xrange' is not defined
print(type(b))
print(b)
print(b[0])
当调用 xrange() 的时候,python3 环境提示 xrange 没有被定义。而 range() 函数的类型也发生了变化,在 2.7 里面的时候,是 list 类型,但是在 3.7 里面,range() 函数是range 类型。