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, 4Especificando 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, 8Especificando 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, 9Iterar 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, 1Ejemplos 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: nCombinar 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.