Cómo usar RANGE en PYTHON
👋 ¿Qué hay? Espero que estéis bien. Yo sigo a tope trabajando con la ruta de aprendizaje de Python y en el tutorial de esta semana vamos a ver que sirve range y cómo utilizarlo.
¿Para qué sirve range?
Range nos permite crear una secuencia de números enteros inmutables, esto quiere decir que una vez creada la secuencia no podremos modificarla.
¿Cómo podemos utilizar range?
Range puede recibir de uno a tres parámetros. Estos siempre serán números enteros y dependiendo del número de parámetros enviados, tendrá un comportamiento u otro:
Para declarar una secuencia range, podemos declarar una variable que será igual a la clase range y por ejemplo, si queremos crear una secuencia desde 0 hasta N tamaño pasaremos el tamaño total que tendrá la secuencia por parámetro. Esta empezará siempre desde el número 0 y el valor final de la secuencia será N - 1.
rango_1 = range(10)
for num in rango_1:
print(num)
# Resultado
0
1
2
3
4
5
6
7
8
9
En este caso creamos una secuencia de un tamaño de 10. Al empezar siempre desde 0, el último valor siempre será el tamaño enviado por parámetro -1.
Si lo que queremos es crear un rango que empiece en un número en concreto, podemos hacerlo pasando como primer parámetro el valor de inicio y como segundo parámetro el valor máximo que podrá tener el rango. Al igual que en el ejemplo anterior. El último valor al recorrer el rango será el valor final - 1.
rango_2 = range(1, 10)
for num in rango_2:
print(num)
# Resultado
1
2
3
4
5
6
7
8
9
Por defecto, el valor de incremento en cada iteración es de 1, pero podemos cambiarlo pasando un tercer parámetro. Este indicará el número en el que se incrementará en cada iteración. Por ejemplo si queremos una lista secuencia de 10 en 10 hasta el número 100, lo haremos de la siguiente forma:
rango_3 = range(0, 101, 10)
for ran in rango_3:
print(ran)
# Resultado:
0
10
20
30
40
50
60
70
80
90
100
Como primer parámetro, pasamos el número de inicio, en este caso el 0. Como segundo parámetro, pasaremos el tamaño total. Como queremos incluir el número 100, le hemos dado un tamaño de 101. Por último, para que se incremente de 10 en 10, en el último parámetro pasamos el número 10.
Operaciones con Range
Ahora que ya hemos visto como crear nuestros rangos, vamos a ver unas cuantas operaciones con range.
Convertir un range en lista
Si queremos convertir un rango en lista, solo necesitaremos declarar una lista con la clase list y que esta reciba por parámetro el rango:
lista_1 = list(range(10))
print(lista_1)
# Resultado: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Obtener el índice de un valor
Cuando queramos obtener en que posición está un valor dentro de un rango, utilizaremos el método index.
rango_1 = range(1, 10)
indice_4 = rango_1.index(4)
print(indice_4)
# El valor 4 está en la posición 3 del rango
print(rango_1[indice_4])
# Pasando el índice obtendremos el valor 4
Al igual que con las listas, podemos acceder al valor de un rango introduciendo el índice entre corchetes.
Cómo saber por qué número empieza un rango
Para saber en qué número empieza un rango, utilizaremos start:
rango_1 = range(7, 10)
empieza_por = rango_1.start
print(empieza_por)
# Resultado: 7
Obtener el valor de incremento de un rango
Cuando queramos obtener el valor por el que se incrementará la secuencia en cada iteración, usaremos step.
rango_1 = range(0, 100, 5)
pasos = rango_1.step
print(pasos)
# Resultado: 5
Obtener el número máximo en el que un rango termina
Si queremos obtener el valor en el que un rango termina, podemos utilizar stop:
rango_1 = range(0, 100, 5)
fin = rango_1.stop
print(fin)
Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.
Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.
Nos leemos 👋.