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)
注意:Python3的 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表,但可以利用 list 函数返回列表。【Python2的range() 函数返回的是列表。Python2已不建议使用——官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。】
如
s = range(1,10)
print(s) # python2 和 python3 显示结果不同
python2中打印(显示结果)的是[1, 2, 3, 4, 5, 6, 7, 8, 9]
python3中打印(显示结果)的是本身range(1, 10),但可以利用 list 函数返回列表print(list(s))。【Python3的list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。】
下面再给出一些示例
a=range(5) # 默认从 0 开始, 在 5 以内, 到不了 5
print(list(a)) # [0, 1, 2, 3, 4]
a=range(1,5) # 给出起点, 终点(到不了的)
print(list(a)) # [1, 2, 3, 4]
a=range(1,11,2) # 给出起点, 终点(到不了的), 步长
print(list(a)) # [1, 3, 5, 7, 9]
a=range(2,2468,2) # 最大下标这样获得:len(a)-1
print(a[0],a[1],a[2],a[len(a)-1]) # 2 4 6 2466
b=range(2,2468) # 最大下标这样获得:len(b)-1
print(b[0],b[1],b[2],b[len(b)-1]) #2 3 4 24676
a=range(100,80,-2) # 前大后小的,步长应该是负数
print(list(a)) # [100, 98, 96, 94, 92, 90, 88, 86, 84, 82]