CommencerCommencez gratuitement

La fonction map()

Passons au mapping !

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 pour représenter un nombre variable d’itérables (par exemple des listes, des chaînes de caractères, des tuples, etc.). Plutôt que de renvoyer un objet zip, my_zip() doit directement renvoyer une liste de tuples.

Remarque : idéalement, il faudrait commencer par vérifier que args contient bien des itérables. Nous l’omettons ici pour simplifier.

Cet exercice fait partie du cours

<cours>S’exercer aux questions d’entretien de code en Python</cours>
Voir le cours

Instructions de l’exercice

  • Récupérez l’itérable lengths à partir de args en utilisant map() et trouvez la longueur minimale.
  • Dans la boucle, créez le mapping avec map() pour récupérer les éléments de args ayant le même indice i.
  • Convertissez le mapping 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)
Modifier et exécuter le code