La función range() en Python genera una secuencia inmutable de números enteros en un rango específico.
Sintaxis
La sintaxis general de range()
es:
range(inicio, fin, paso)
inicio
: Valor inicial de la secuencia (inclusive). Si no se especifica, por defecto es 0.fin
: Valor final de la secuencia (exclusivo). Este valor nunca es parte de la secuencia generada.paso
: Incremento entre cada número de la secuencia. Si no se especifica, por defecto es 1.
La función range()
devuelve un objeto de tipo range
, que es eficiente en términos de memoria y adecuado para generar secuencias de números grandes.
range()
es útil en contextos donde se necesita generar secuencias numéricas “fijas” y que no varían (por ejemplo en bucles for
, operaciones matemáticas y manipulaciones de datos).
Ejemplos básicos
Uso básico
En este ejemplo, utilizamos range para generar una secuencia de números del 0 al 4, donde el valor final especificado no se incluye en la secuencia.
# Generar una secuencia de 0 a 4 (exclusivo)
for i in range(5):
print(i)
# Salida: 0, 1, 2, 3, 4
Especificando inicio y fin
Aquí, range se usa para generar una secuencia que comienza en 2 y termina en 8 (exclusivo), mostrando cómo se puede definir tanto el inicio como el fin de la secuencia.
# Generar una secuencia de 2 a 8 (exclusivo)
for i in range(2, 9):
print(i)
# Salida: 2, 3, 4, 5, 6, 7, 8
Especificando paso
En este ejemplo, se muestra cómo generar una secuencia que comienza en 1 y termina en 10, con un incremento de 2 en cada paso.
# Generar una secuencia de 1 a 10 con paso de 2
for i in range(1, 11, 2):
print(i)
# Salida: 1, 3, 5, 7, 9
Iterar en orden inverso
Este ejemplo demuestra cómo usar range para iterar en orden inverso, comenzando desde 10 y terminando en 1.
# Iterar en orden inverso
for i in range(10, 0, -1):
print(i)
# Salida: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Ejemplos prácticos
Crear lista desde range()
En este ejemplo, se muestra cómo utilizar range para crear una lista de números pares del 0 al 9, utilizando la función list para convertir la secuencia generada por range en una lista.
# Crear una lista de números pares del 0 al 9
numeros_pares = list(range(0, 10, 2))
print(numeros_pares)
# Salida: [0, 2, 4, 6, 8]
Generar índices en un bucle
En este ejemplo se utiliza range para generar índices en un bucle, lo cual es útil cuando se necesita acceder a los elementos de una secuencia junto con sus índices.
# Usar range() para generar índices en un bucle
palabra = "Python"
for i in range(len(palabra)):
print(f"Índice {i}: {palabra[i]}")
# Salida: Índice 0: P, Índice 1: y, Índice 2: t, Índice 3: h, Índice 4: o, Índice 5: n
Combinar con zip() para iterar en paralelo
Este ejemplo muestra cómo combinar range con la función zip para iterar en paralelo sobre dos listas, permitiendo acceder a los elementos correspondientes de ambas listas en cada iteración.
# Usar range() junto con zip() para iterar en paralelo sobre dos listas
nombres = ["Ana", "Luis", "María"]
edades = [30, 25, 35]
for i in range(len(nombres)):
print(f"{nombres[i]} tiene {edades[i]} años.")
# Salida:
# Ana tiene 30 años.
# Luis tiene 25 años.
# María tiene 35 años.