English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O tipo range() retorna uma sequência numérica imutável entre o inteiro de início e o inteiro final especificado.
O construtor do range() tem duas formas de definição:
range(stop) range(start, stop[, step])
O range() utiliza três parâmetros com a mesma função em duas definições:
start -um inteiro, a partir do qual a sequência de inteiros é retornada
stop-para retornar o inteiro sequência
o intervalo inteiro está entre1umaté o ponto final.
step (opcional) -valor inteiro, que determina o incremento entre cada inteiro na sequência
O range() retorna um objeto sequência numérica imutável, dependendo da definição usada:
retorna de0到stop-1uma sequência numérica
sestopparanúmero negativo ou zero,então retorna uma sequência vazia.
返回值是通过以下公式在给定约束条件下计算的:
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)step默认为1。返回从start到stop-1结束的数字序列。
(如果step 为零)引发ValueError异常
(如果step非零)检查值约束是否满足,并根据公式返回序列。
如果不满足值约束,则返回Empty 序列。
# 空 range print(list(range(0))) # 使用 range(stop) print(list(range(10)) # 使用 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))) # 不满足值约束 print(list(range(start, 14, step)))
运行该程序时,输出为:
[2, 0, -2, -4, -6, -8, -10, -12] []