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]

 

posted on 2019-10-01 20:49  腿短毛不多  阅读(260)  评论(0编辑  收藏  举报