range() 函数可创建一个可迭代对象,一般用在 for 循环中。 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。 Python3 list() 函
range() 函数可创建一个可迭代对象,一般用在 for 循环中。
Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。
Python2 range() 函数返回的是列表。
range(start,end,step) 开始值,结束值,步长(开始值和结束值为左开右闭)
range(stop) 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)
py3:range(10),每次你遍历的时候,动态的生成数据
>>> range(10)
range(0, 10) #在内存里生成了一个类对象,并不是具体的实例,可以节省内存
>>> list(range(10)) #list函数把range返回的可迭代对象转化为一个列表
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#开始值不写默认从0开始;结束值为闭区间,所以取不到10;步长不写默认是1,示例: >>> for i in range(10): ... print(i) ... 0 1 2 3 4 5 6 7 8 9 #开始值,结束值和步长都写,示例: >>> for i in range(1,20,3): ... print(i) ... 1 4 7 10 13 16 19 >>>
py2:range(10),直接生成所有数据
>>>range(10) # 已经把10个数放到内存里了 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]