O tipo range () retorna uma sequência imutável de números entre o inteiro inicial fornecido e o inteiro final.
range()
construtor tem duas formas de definição:
intervalo (parar) intervalo (iniciar, parar (, passo))
range () Parâmetros
range()
leva principalmente três argumentos com o mesmo uso em ambas as definições:
- start - inteiro a partir do qual a sequência de inteiros deve ser retornada
- stop - inteiro antes do qual a seqüência de inteiros deve ser retornada.
O intervalo de inteiros termina emstop - 1
. - etapa (opcional) - valor inteiro que determina o incremento entre cada inteiro na sequência
Valor de retorno do intervalo ()
range()
retorna um objeto de sequência imutável de números, dependendo das definições usadas:
intervalo (parar)
- Retorna uma sequência de números começando de
0
astop - 1
- Retorna uma sequência vazia se
stop
fornegative
ou0
.
intervalo (iniciar, parar (, passo))
O valor de retorno é calculado pela seguinte fórmula com as restrições fornecidas:
r (n) = início + etapa * n (para etapa positiva e negativa), onde, n> = 0 e r (n) = 0 e r (n)> parada (para etapa negativa)
- (Se não
step
) O padrão da etapa é 1. Retorna uma sequência de números começandostart
e terminando emstop - 1
. - (se
step
é zero) Gera umaValueError
exceção - (se
step
for diferente de zero) Verifica se a restrição de valor é atendida e retorna uma sequência de acordo com a fórmula.
Se não atender à restrição de valor, Sequência vazia é retornada.
Exemplo 1: como o intervalo funciona em Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Resultado
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Observação: convertemos o intervalo em uma lista Python, pois range()
retorna um objeto do tipo gerador que apenas imprime a saída sob demanda.
No entanto, o objeto de intervalo retornado pelo construtor de intervalo também pode ser acessado por seu índice. Ele oferece suporte a índices positivos e negativos.
Você pode acessar o objeto de intervalo por índice como:
rangeObject (índice)
Exemplo 2: crie uma lista de números pares entre os números fornecidos usando intervalo ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Resultado
(2, 4, 6, 8, 10, 12)
Exemplo 3: Como range () funciona com passo negativo?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Resultado
(2, 0, -2, -4, -6, -8, -10, -12) ()