El tipo range () devuelve una secuencia inmutable de números entre el entero inicial dado y el entero final.
range()
constructor tiene dos formas de definición:
rango (parada) rango (inicio, parada (, paso))
range () Parámetros
range()
toma principalmente tres argumentos que tienen el mismo uso en ambas definiciones:
- start - entero a partir del cual se devolverá la secuencia de enteros
- stop - entero antes del cual se devolverá la secuencia de enteros.
El rango de números enteros termina enstop - 1
. - paso (opcional) - valor entero que determina el incremento entre cada entero en la secuencia
Valor de retorno del rango ()
range()
devuelve un objeto de secuencia inmutable de números dependiendo de las definiciones utilizadas:
rango (parada)
- Devuelve una secuencia de números comenzando desde
0
hastastop - 1
- Devuelve una secuencia vacía si
stop
esnegative
o0
.
rango (iniciar, detener (, paso))
El valor de retorno se calcula mediante la siguiente fórmula con las restricciones dadas:
r (n) = inicio + paso * n (para paso positivo y negativo) donde, n> = 0 y r (n) = 0 y r (n)> detener (para paso negativo)
- (Si no
step
) El paso predeterminado es 1. Devuelve una secuencia de números que comienzanstart
y terminan enstop - 1
. - (si
step
es cero) Genera unaValueError
excepción - (si
step
no es cero) Comprueba si se cumple la restricción de valor y devuelve una secuencia de acuerdo con la fórmula.
Si no cumple con la restricción de valor, se devuelve la secuencia vacía .
Ejemplo 1: ¿Cómo funciona el rango en Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Salida
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Nota: Hemos convertido el rango a una lista de Python, ya que range()
devuelve un objeto similar a un generador que solo imprime la salida a pedido.
Sin embargo, también se puede acceder al objeto de rango devuelto por el constructor de rango mediante su índice. Admite índices tanto positivos como negativos.
Puede acceder al objeto de rango por índice como:
rangeObject (índice)
Ejemplo 2: Cree una lista de números pares entre los números dados usando range ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Salida
(2, 4, 6, 8, 10, 12)
Ejemplo 3: ¿Cómo funciona range () con paso negativo?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Salida
(2, 0, -2, -4, -6, -8, -10, -12) ()