La fonction map()
Passons au mappage!
Vous souvenez-vous du fonctionnement de zip()? Cette fonction fusionne les itérables fournis de sorte que les éléments ayant le même indice se retrouvent dans le même tuple. De plus, la sortie est limitée par l'itérable le plus court.
Votre tâche est de définir votre propre fonction my_zip() avec *args représentant un nombre variable d'itérables, p. ex. des listes, des chaînes, des tuples, etc. Plutôt qu'un objet zip, my_zip() doit déjà retourner une liste de tuples.
Remarque : idéalement, on vérifierait d'abord que args contient bien des itérables. Pour simplifier, nous l'omettons ici.
Cette activité fait partie du cours
S'entraîner aux questions d'entrevue de programmation en Python
Instructions de l’exercice
- Récupérez l'itérable
lengthsà partir deargsà l'aide demap()et trouvez la longueur minimale. - Dans la boucle, créez le
mappingavecmap()pour récupérer les éléments deargsayant le même indicei. - Convertissez le mappage en tuple et ajoutez-le à
tuple_list.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)