El tipo Python rangegenera una secuencia de enteros definiendo un punto inicial y final del rango. Generalmente se usa con el for bucle para iterar sobre una secuencia de números.

range()funciona de manera diferente en Python 2 y 3.

En Python 2, hay dos funciones que le permiten generar una secuencia de números enteros rangexrangeEstas funciones son muy similares, con la principal diferencia de que rangedevuelve una lista y xrangedevuelve un objeto xrange.

En Python 3, la xrangefunción se eliminó y rangese comporta de manera similar a Python 2 xrangePython 3 rangeno es una función, sino un tipo que representa una secuencia inmutable de números.

En este artículo, cubriremos los conceptos básicos del rangetipo Python 3.

range()Sintaxis de Python

El rangeconstructor toma las siguientes formas:

range(stop)
range(start, stop[, step])

Los argumentos proporcionados al rangeconstructor deben ser números enteros. No se permiten números flotantes y otros tipos.

rangetoma un argumento requerido y dos opcionales. Devuelve un objeto de rango que representa el rango dado y genera los números a pedido.

Pitónrange(stop)

Cuando solo se proporciona un argumento, rangedevuelve una secuencia de números, incrementada en 1, comenzando desde 0hasta stop - 1.

Aquí está el tipo de rango en acción:

for i in range(5):
    print(i)

La secuencia de números generada comienza 0y termina con 4(5-1):

0
1
2
3
4

Si el argumento es 0o un entero negativo rangedevuelve una secuencia vacía:

print(list(range(-5)))

Estamos convirtiendo el objeto de rango en una lista porque el rango hace una evaluación perezosa de la secuencia de enteros. La salida es una lista vacía:

[]

Pitónrange(start, stop)

Cuando se proporcionan dos argumentos, rangedevuelve una secuencia de números, incrementada por 1, comenzando desde starthasta stop - 1.

Aquí hay un ejemplo:

for i in range(3, 5):
    print(i)
3
4

El stopargumento debe ser mayor que startDe lo contrario, la secuencia está vacía:

print(list(range(5, 3)))
[]

Puede usar 0enteros positivos y negativos como argumentos:

print(list(range(-5, -3)))
[-5, -4]
print(list(range(-3, 0)))
[-3, -2, -1]

Pitónrange(start, stop, step)

Cuando se dan tres argumentos, rangedevuelve una secuencia de números, incrementada o decrementada por step, comenzando desde starthasta stop - 1.

Si stepes positivo, rangedevuelve una secuencia que se incrementa:

for i in range(0, 26, 5):
    print(i)
0
5
10
15
20
25

Al incrementar, el stopargumento debe ser mayor que startDe lo contrario, la secuencia está vacía.

Si stepes negativo, rangedevuelve una secuencia que decrece:

for i in range(20, 4, -5):
    print(i)
20
15
10
5

Al decrementar, el stopargumento debe ser menor que startDe lo contrario, la secuencia está vacía.

Si stepse 0genera una excepción ValueError:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero

Conclusión

El tipo Python rangele permite generar una secuencia de enteros. Se utiliza principalmente en forbucles.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.