Guía Completa de la Función range() en Python

Definición

La función range() es una de las más utilizadas en Python para generar secuencias de números. Es especialmente útil en bucles y permite trabajar con iteraciones de manera eficiente y legible. ¡Conoce sus usos y saca el máximo provecho en tus proyectos!

La función range() genera una secuencia de números de forma automática, devolviendo un objeto de tipo range, el cual es iterable.

Sintaxis

python
range(start, stop, step)
  • start (opcional): El número inicial de la secuencia (por defecto es 0).
  • stop: El límite superior de la secuencia (no inclusivo).
  • step (opcional): El incremento entre cada número (por defecto es 1).

Ejemplos Prácticos de la Función range() en Python


1. Secuencia del 0 al 4

En este ejemplo, usamos la función range(5) para generar una secuencia de números del 0 al 4. El bucle for itera a través de esta secuencia y los imprime uno por uno.

python
for i in range(5):
  print(i)
# Salida: 0, 1, 2, 3, 4

2. Especificando el valor inicial

En este ejemplo, la función range(2, 6) genera una secuencia de números comenzando desde 2 hasta 5. El bucle for recorre esta secuencia e imprime cada número.

python
for i in range(2, 6):
  print(i)
# Salida: 2, 3, 4, 5

3. Usando un paso diferente

La función range(0, 10, 2) genera una secuencia de números desde 0 hasta 8, avanzando de dos en dos. El bucle for recorre esta secuencia e imprime cada número.

python
for i in range(0, 10, 2):
  print(i)
# Salida: 0, 2, 4, 6, 8

4. Secuencia inversa

La función range(10, 0, -2) genera una secuencia de números desde 10 hasta 2, decrementando de dos en dos. El bucle for recorre esta secuencia e imprime cada número.

python
for i in range(10, 0, -2):
  print(i)
# Salida: 10, 8, 6, 4, 2

5. Convertir un range a una lista

Se puede convertir una secuencia generada por range() directamente en una lista usando la función list(). Esto es útil cuando se necesita trabajar con la secuencia como una lista tradicional en Python.

python
numeros = list(range(1, 6))
print(numeros)
# Salida: [1, 2, 3, 4, 5]

6. Uso en comprensión de listas

La función range() es muy útil cuando se usa dentro de una comprensión de listas para generar secuencias basadas en algún cálculo, como en este caso, donde se generan los cuadrados de los números del 1 al 5.

python
cuadrados = [x**2 for x in range(1, 6)]
print(cuadrados)
# Salida: [1, 4, 9, 16, 25]

7. Iterar sobre índices de una lista

Se puede usar range() para iterar sobre los índices de una lista, lo que es útil cuando necesitas acceder a los elementos de la lista junto con su índice.

python
frutas = ['manzana', 'banana', 'cereza']
for i in range(len(frutas)):
  print(f"Fruta {i + 1}: {frutas[i]}")
# Salida:
# Fruta 1: manzana
# Fruta 2: banana
# Fruta 3: cereza
  Notas importantes

  1. range() no incluye el valor de stop.
  2. Puede usarse con números negativos para crear secuencias decrecientes.
  3. Genera un objeto eficiente en memoria y no crea la lista completa en memoria (a menos que lo conviertas explícitamente con list()).