Tutorial Study Image

Python range()

内置函数 range() 用于通过指定序列的起始点和结束点来返回一个整数序列。这个结果序列是不可变的,意味着其值不能被改变。为了重复执行一个任务特定次数,我们可以将 range() 方法与循环结合使用。


range(stop)
range(start, stop[, step]) #where stop is an integer indicates stop position.
 

range() 参数

接受三个参数。如果未给出起始索引,则从 0 开始,并会以 1 递增,直到结束索引。

参数 描述 必需/可选
开始 (start) 一个整数,指定开始位置。默认为 0 可选
停止 一个整数,指定停止位置 必需
步长 一个整数,决定序列中每个整数之间的增量 可选

range() 返回值

结果序列从 0 开始到 stop - 1 结束。如果 stop 为负数或 0,则返回一个空序列。

r[n] = start + step*n (适用于正步长和负步长)
其中,n >=0 且 r[n] < stop (正步长)
其中,n >= 0 且 r[n] > stop (负步长)

如果步长为零,则会引发 ValueError 异常。如果步长非零,则根据公式返回一个序列。如果未满足值约束,则返回一个空序列。

输入 返回值
整数 整数序列

Python 中 range() 方法的示例

示例 1:range 在 Python 中如何工作?


# 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]

示例 2:使用 range() 创建给定数字之间的偶数列表


start = 2
stop = 14
step = 2

print(list(range(start, stop, step)))
 

输出

[2, 4, 6, 8, 10, 12]

示例 3:range() 如何与负步长配合使用?


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]
[]