La función map()
¡Vamos a hacer un mapping!
¿Recuerdas cómo funciona zip()? Combina los iterables dados de modo que los elementos con el mismo índice queden en la misma tupla. Además, la salida queda limitada por el iterable más corto.
Tu tarea es definir tu propia función my_zip() con *args para representar un número variable de iterables, p. ej., listas, cadenas, tuplas, etc. En lugar de un objeto zip, my_zip() debe devolver ya una lista de tuplas.
Comentario: en un caso real, habría que comprobar primero que args contiene iterables. Aquí lo omitimos por simplicidad.
Este ejercicio forma parte del curso
Practicing Coding Interview Questions in Python
Instrucciones del ejercicio
- Obtén el iterable
lengthsa partir deargsusandomap()y encuentra la longitud mínima. - Dentro del bucle, crea el
mappingconmap()para recuperar los elementos deargscon el mismo índicei. - Convierte el mapping en una tupla y añádelo a
tuple_list.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
def my_zip(*args):
# Retrieve Iterable lengths and find the minimal length
lengths = list(map(____, ____))
min_length = ____
tuple_list = []
for i in range(0, min_length):
# Map the elements in args with the same index i
mapping = map(____, args)
# Convert the mapping and append it to tuple_list
tuple_list.append(____(____))
return tuple_list
result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)