📅  最后修改于: 2020-09-20 13:37:32             🧑  作者: Mango
range()
构造函数有两种定义形式:
range(stop)
range(start, stop[, step])
range()
主要采用三个在两个定义中具有相同用法的参数:
stop - 1
终止点结束。 range()
返回一个不变的数字序列对象,具体取决于所使用的定义:
0
到stop - 1
的数字序列stop
为negative
或0
则返回一个空序列。 返回值由以下公式在给定约束条件下计算得出:
r[n] = start + step*n (for both positive and negative step)
where, n >=0 and r[n] < stop (for positive step)
where, n >= 0 and r[n] > stop (for negative step)
step
)步骤默认为1。返回从start
到stop - 1
结束的数字序列。 step
为零)引发ValueError
异常step
非零)检查值约束是否满足,并根据公式返回序列。如果不满足值约束,则返回Empty sequence。 # empty range
print(list(range(0)))
# using range(stop)
print(list(range(10)))
# using range(start, stop)
print(list(range(1, 10)))
输出
[]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
注意:我们已经将范围转换为Python列表,因为range()
返回一个类似于生成器的对象,该对象仅按需打印输出。
但是,范围构造函数返回的范围对象也可以通过其索引访问。它同时支持正负索引。
您可以按以下方式按索引访问范围对象:
rangeObject[index]
start = 2
stop = 14
step = 2
print(list(range(start, stop, step)))
输出
[2, 4, 6, 8, 10, 12]
start = 2
stop = -14
step = -2
print(list(range(start, stop, step)))
# value constraint not met
print(list(range(start, 14, step)))
输出
[2, 0, -2, -4, -6, -8, -10, -12]
[]