range() method
2018-12-05 本文已影响0人
dmzlingyin
python | range()方法
Python中有很多迭代器,比如list、tuple等,range()提供了另一种使用某些条件初始化数字序列的方法。
range()通常用于循环,因此,在处理任何类型的Python代码时,相同的知识都是关键方面。
语法:range(start、stop、step)
参数:
start:从该元素开始构造序列。(默认值:0)
stop:元素编号,序列中的数字必须在此结束(排他)。
step:可以是+ve或-ve number,表示在填写list时需要跳过的元素。(默认值:1)
返回:使用公式的列表:
其中,n >=0, list[n] =0, list[n] > stop (for negative step)
如果步骤为0,返回ValueError。在step中检查值约束,不满足return空序列,否则按公式返回序列。
1、不带step参数
list1 = list(range(6))
list2 = list(range(3,6))
list3 = list(range(-6,2))
print(list1)
print(list2)
print(list3)
输出:
[0, 1, 2, 3, 4, 5]
[3, 4, 5]
[-6, -5, -4, -3, -2, -1, 0, 1]
2、加上step参数
print("List generated using step : " +
str(list(range(3, 10, 2))))
print("List generated using negative step : " +
str(list(range(10, -5, -3))))
print("List generated using step, value contraints fail : " +
str(list(range(10, -5, 3))))
print("List generated using 0 step : " +
str(list(range(3, 7, 0))))
输出:
Output:
List generated using step : [3, 5, 7, 9]
List generated using negative step : [10, 7, 4, 1, -2]
List generated using step, value contraints fail : []
Traceback (most recent call last): File "/home/bdae725dff7b38d3681eee38f6a6d434.py", line 23, in
print("List generated using 0 step : " + str(list(range(3, 7, 0))))
ValueError: range() arg 3 must not be zero
从错误信息可以得出,step不能为0