Resumen

¿Qué son los rangos en Python?

Los rangos en Python son estructuras de datos que representan una secuencia de números enteros. Al igual que las rebanadas de listas, los rangos se definen especificando un inicio, un final y los pasos que se van a utilizar para generar la secuencia. Esta inmutabilidad nos brinda una ventaja significativa en términos de eficiencia de memoria, dado que conocemos la cantidad exacta de memoria necesaria para almacenar el rango de antemano.

¿Cómo se define un rango?

Crear un rango en Python es sencillo gracias a la función range(). Este método requiere tres parámetros principales:

  • Inicio: el número donde comienza la secuencia.
  • Final: el número donde termina la secuencia (no inclusivo).
  • Pasos: el incremento entre cada número en la secuencia.

Por ejemplo:

mi_rango = range(1, 5)

Este rango irá del 1 al 4, ya que el final (5) no se incluye. Dentro de un ciclo for, puedes recorrer este rango para ver sus valores:

for numero in mi_rango:
    print(numero)

Imprimirá:

1
2
3
4

¿Cómo se manipulan y comparan los rangos?

Los rangos en Python son útiles y eficientes para varias operaciones. Pongamos otro ejemplo práctico, donde se crean dos rangos diferentes:

rango_a = range(0, 7, 2)
rango_b = range(0, 8, 2)

En un principio, parecería que estos rangos son diferentes. Sin embargo, si imprimimos los valores de cada uno obtendremos la misma secuencia: 0, 2, 4, 6. Esto se debe a que, aunque los límites superiores son distintos, los pasos de 2 hacen que ambos generen la misma serie de valores.

Podemos verificar la igualdad de los valores (no de los objetos) con:

print(rango_a == rango_b)  # Esto imprime True

No obstante, si deseamos comprobar si son el mismo objeto en memoria, utilizamos el operador is:

print(rango_a is rango_b)  # Esto imprime False, ya que son objetos distintos en memoria

¿Cómo generar una secuencia específica como números pares?

Generar secuencias de números específicos como pares es muy sencillo. Por ejemplo, todos los números pares del 0 al 100:

for numero in range(0, 101, 2):
    print(numero)

Este fragmento de código recorrerá todos los números pares de 0 a 100, saltando de dos en dos.

Reto práctico

Te dejamos un desafío: genera un rango con todos los números impares del 1 al 99 e intenta hacerlo tan eficiente como sea posible. Comparte tu solución en los comentarios. Además, si tienes preguntas, no dudes en utilizar el sistema de comentarios para obtener ayuda. Recuerda que la práctica constante y la interacción con la comunidad son claves en tu camino de aprendizaje. ¡Ánimo y sigue explorando las maravillas de Python!