Funciones range y zip en Python

Autor: | Última modificación: 10 de enero de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Las funciones range y zip en Python sirven para diferentes cosas. En el caso del range, para cualquier int n, range (n) genera una secuencia de int de 0 a n – 1. En el caso de la función zip, esta es una colección con elementos de la misma longitud.

Veamos en este artículo qué se puede hacer con las funciones range y zip en Python.

Funciones range y zip en Python

Range

Veamos un ejemplo de range:

#Funciones range y zip en Python
#Si ponemos:
range (10)

Podemos generar una secuencia de números del 1 al 10. Lo que pasa es que no podemos ver qué hay dentro de esa secuencia:

range (0, 10)

Para poder hacerlo y convertir el resultado que nos ha dado el range en una lista, debemos hacer lo siguiente:

#Funciones range y zip en Python
for i in range (10):
print (i)

0

1

2

3

4

5

6

7

8

9

Podemos convertir esto en una lista:

list (range (10))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

También podemos usar numpy para crear una secuencia de números:

#Funciones range y zip en Python
import numpy as np

np.arrange (0, 10, 1)

array ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Ejercicio

Vamos a generar un conjunto que contenga los números impares del 1 al 99.

Lo primero que haremos es crear un conjunto, que es lo que nos piden. Lo que nos dice es que tengamos los números impares de 1 a 99, por lo que ponemos el rango hasta 100, ya que sabemos que va hasta 100 – 1. Esto se debe a que se empieza a contar desde 0 y no desde 1.

Tenemos que añadirle al conjunto si es impar. Un número es impar si el residuo de la división de ese número entre 2 es 1 (a diferencia de un número par, cuyo residuo debe ser 0). En nuestro caso lo añadiremos al conjunto odd_numbers_1.

#Funciones range y zip en Python
odd_numbers_1 = set ()
for i in range (100):
if i % 2 == 1:
odd_numbers_1.add (i)

print (odd_numbers_1)

{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99}

Podemos hacer esto de una manera más simple, concisa y clara gracias a la lista de compresión:

#Funciones range y zip en Python
odd_numbers_2 = {i for i in range (100) if i % 2 == 1}
print (odd_numbers_2 )

{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99}

odd_numbers_1 == odd_numbers_2 

True

Zip

Veamos cómo funciona el zip. Tenemos dos listas, una con enteros y otra con strings. Vamos a intentar asociar cada uno de los elementos de la lista a con los de la lista b: 1 con Amanda, 2 con keepcoding y 3 con bootcamp. Observemos:

#Funciones range y zip en Python
a = [1, 2, 3]
b = ['Amanda', 'keepcoding', 'bootcamp']

list (zip (a, b))

[(1, ‘Amanda’), (2, ‘keepcoding’), (3, ‘bootcamp’)]

Nos sirve para combinar listas:

#Funciones range y zip en Python
characters = ['Neo', 'Morpheus', 'Trinity']
actors = ['Keanu', 'Laurence', 'Carrie']

list (zip (characters, actors))

[(‘Neo’, ‘Keanu’), (‘Morpheus’, ‘Laurence’), (‘Trinity’, ‘Carrie’)]

Se puede usar en un bucle para iterar al mismo tiempo sobre dos listas:

for i, j in zip  (characters, actors):
print (i, + " " + j)

Neo Keanu

Morpheus Laurence

Trinity Carrie

El + dentro del print nos permite añadir, por ejemplo, una variable, string, otra variable. Sirve, básicamente, para unir variables.

También podríamos hacerlo de otro modo, con la f de format:

for i, j in zip  (characters, actors):
print (f "{i} {j}") 
#print ("{0} {1}").format (i, j)

¿Quieres aprender más sobre Big Data?

El Big Data es una de las áreas en la que más trabajos se ofertan. Si te encantaría acceder a este tipo de opciones laborales, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que adquirirás todos los conocimientos teóricos y prácticos que te permitirán obtener el trabajo de tus sueños. ¡No esperes más para seguir tu camino hacia el éxito y solicita información sobre el bootcamp ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.