Comment utiliser la fonction map de Python

Python est un puissant langage de programmation connu pour sa simplicité et la lisibilité de son code. Il est largement utilisé dans de nombreux secteurs, notamment la science des données, le développement web et l’apprentissage automatique.
L’une des fonctions intégrées à Python est la fonction « map », qui est principalement utilisée pour mettre en correspondance un ensemble de valeurs avec un autre ensemble d’une manière plus concise et plus efficace.
Dans cet article, nous verrons ce qu’est la fonction « map » et comment l’utiliser en Python.

Qu’est-ce que la fonction « map » ?

La fonction « map » est une fonction intégrée à Python qui prend deux arguments : une fonction et un itérable. La fonction est appliquée à chaque élément de l’itérable, et la fonction « map » renvoie un itérateur qui donne les résultats. L’itérable peut être une liste, un tuple, un ensemble ou tout autre objet itérable en Python.

Voici la syntaxe de la fonction « map » :

map(function, iterable)

Lorsque la fonction « map » est appelée, elle applique la fonction à chaque élément de l’itérable, et le résultat de la fonction est ajouté à un nouvel itérable. Ce nouvel itérable est retourné par la fonction « map ».

Il est important de noter que la fonction « map » ne modifie pas l’iterable original. Au lieu de cela, elle crée un nouvel itérable qui contient les résultats de l’application de la fonction à l’itérable d’origine.

Comment utiliser la fonction « map » en Python

Voyons comment utiliser la fonction `map` en Python.

1. Cartographie avec une fonction lambda

Une fonction lambda est une petite fonction anonyme. Nous pouvons utiliser la fonction « map » avec une fonction lambda pour itérer sur une liste et appliquer la fonction à chaque élément de la liste.

# Utilisation de la fonction map avec la fonction lambda

nombres = [1, 2, 3, 4, 5]
nombres_carrés = list(map(lambda x : x**2, nombres))
print(nombres_carrés)

Sortie :

[1, 4, 9, 16, 25]

Le programme ci-dessus prend chaque élément de la liste « numbers » et lui applique la fonction lambda, qui met au carré chaque élément de la liste. La liste résultante « nombres_au_carré » est alors affiché.

2. Mapping avec une fonction définie par l’utilisateur

Nous pouvons également utiliser une fonction définie par l’utilisateur avec la fonction « map » de Python. Voici un exemple :

# Utilisation de la fonction map avec une fonction définie par l'utilisateur

def multiply_by_two(x) :

     return x * 2
nombres = [1, 2, 3, 4, 5]
nombres_multipliés = list(map(multiply_by_two, nombres))
print(nombres_multipliés)

Sortie :

[2, 4, 6, 8, 10]

Ici, la fonction « multiply_by_two » multiplie chaque élément de la liste par 2, et la liste résultante « multiplied_numbers » est ensuite affichée après avoir appliqué la fonction à chaque élément en utilisant la fonction « map ».

3. Mise en correspondance de plusieurs itérables avec zip

Nous pouvons également utiliser la fonction « map » avec plusieurs itérables en utilisant la fonction « zip ». La fonction « zip » prend deux itérables ou plus et renvoie un itérable de tuples qui combinent les éléments correspondants de chaque itérable.

# Utilisation des fonctions map et zip

names = ['Alice', 'Bob', 'Charlie', 'David']
ages = [25, 30, 35, 40]
details = list(map(lambda x, y : f'{x} a {y} ans.', names, ages))
print(details)

Sortie :

['Alice a 25 ans.', 'Bob a 30 ans.', 'Charlie a 35 ans.', 'David a 40 ans.']

Dans l’exemple ci-dessus, nous utilisons la fonction « zip » pour combiner les éléments de deux itérables, « names » et « ages », puis nous utilisons la fonction « map » pour appliquer une fonction lambda qui combine les éléments dans un format de chaîne.

4. Cartographier une chaîne de caractères en une liste de mots

Nous pouvons utiliser la fonction « map » pour diviser une chaîne de caractères en une liste de mots. Voici un exemple :

# Utilisation de la fonction map pour convertir une chaîne en une liste de mots

text = "Python est génial"
words = list(map(str, text.split()))
print(words)

Résultat :

['Python', 'est', 'génial']

Dans l’exemple ci-dessus, nous utilisons la méthode « split() » pour diviser la chaîne « text » en une liste de mots, puis la fonction « map » est appliquée pour convertir les éléments de la liste en chaînes.

5. Mappage d’une liste de tuples

Nous pouvons utiliser la fonction « map » pour manipuler une liste de tuples en définissant une fonction qui opère sur chaque élément du tuple.

details = [('Alice', 25), ('Bob', 30), ('Charlie', 35), ('David', 40)]

def format_details(detail) :

     nom, age = detail
     return f'{nom} a {age} ans'.
details_formates = list(map(format_details, details))

print(details_formates)

Sortie :

['Alice a 25 ans', 'Bob a 30 ans', 'Charlie a 35 ans', 'David a 40 ans'].

Dans l’exemple ci-dessus, nous avons une liste de tuples « details », et la fonction « map » est utilisée pour appliquer la fonction « format_details() » à chaque élément du tuple.

Comme vous l’aurez pu remarqué dans cet article, nous avons discuté de la fonction « map » en Python, de son fonctionnement et de la manière de l’utiliser pour manipuler des itérables. Nous avons appris que la fonction « map » peut être utilisée avec des fonctions intégrées et des fonctions définies par l’utilisateur, et qu’elle peut également être utilisée avec la fonction « zip ». La fonction « map » est une fonction puissante de Python qui peut rendre l’itération et la manipulation des itérables plus efficaces et plus concises.