Python map () applique une fonction sur tous les éléments d'un itérateur donné en entrée. Un itérateur, par exemple, peut être une liste, un tuple, un ensemble, un dictionnaire, une chaîne, et il retourne un objet map itérable. Python map () est une fonction intégrée.
Dans ce tutoriel, vous apprendrez:
- Syntaxe:
- Comment fonctionne la fonction map ()?
- Utilisation de map () avec les fonctions intégrées de Python
- Utiliser map () avec une chaîne comme itérateur
- Utilisation de map () avec liste de nombres
- Utiliser map () avec Tuple
- Utilisation de map () avec Dictionary
- Utiliser map () avec Set
- Utilisation de map () avec la fonction Lambda
- Utilisation de plusieurs itérateurs dans la fonction map ()
Syntaxe:
map(function, iterator1,iterator2… iteratorN)
Paramètres
Voici deux importants
- function: Une fonction obligatoire à donner à la carte, qui sera appliquée à tous les éléments disponibles dans l'itérateur.
- itérateur: un objet obligatoire itérable. Cela peut être une liste, un tuple, etc. Vous pouvez passer plusieurs objets itérateur à la fonction map ().
Valeur de retour
La fonction map () va appliquer la fonction donnée sur tous les éléments à l'intérieur de l'itérateur et retourner un objet map itérable c'est-à-dire un tuple, une liste, etc.
Comment fonctionne la fonction map ()?
La fonction map () prend deux entrées en tant que fonction et objet itérable. La fonction donnée à map () est une fonction normale, et elle itérera sur toutes les valeurs présentes dans l'objet itérable donné.
Par exemple, considérez que vous avez une liste de nombres et que vous voulez trouver le carré de chacun des nombres.
Pour obtenir la sortie, nous avons besoin de la fonction qui retournera le carré du nombre donné. La fonction sera la suivante:
def square(n):return n*n
La liste des éléments dont nous voulons trouver le carré est la suivante:
my_list = [2,3,4,5,6,7,8,9]
Utilisons maintenant la fonction intégrée python de map () pour obtenir le carré de chacun des éléments de ma_liste.
Le code final est le suivant:
def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))
Production:
La sortie de la fonction map (), comme on le voit dans la sortie, est un objet de carte affiché à l'écran comme
Vous devrez itérer la sortie de la carte en utilisant une boucle for ou en utilisant la méthode list () pour obtenir la sortie finale. J'ai utilisé list () dans le code qui affiche les valeurs à l'intérieur de la liste donnée.
Donc en utilisant la fonction map (), nous pouvons obtenir le carré de chaque nombre. La liste donnée à map était [2,3,4,5,6,7,8,9] et en utilisant la fonction square () la sortie de map () nous avons obtenu [4, 9, 16, 25, 36, 49, 64, 81].
La fonction map () applique la fonction square () sur tous les éléments de la liste. Par exemple, la variable ma_liste et met à jour la liste avec le carré de chaque nombre. La sortie est stockée dans la variable updated_list.
Utilisation de map () avec les fonctions intégrées de Python
La fonction map () de Python est une fonction intégrée et peut également être utilisée avec d'autres fonctions intégrées disponibles dans Python. Dans l'exemple, nous allons utiliser la fonction intégrée Python round () qui arrondit les valeurs données.
Exemple:
La liste que j'ai est ma_liste = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].
J'ai besoin des valeurs arrondies pour chaque élément présent dans la liste. Nous utiliserons round () comme fonction de map ().
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))
Production:
La fonction round () est appliquée à tous les éléments de la liste et renvoie une liste avec toutes les valeurs arrondies comme indiqué dans la sortie.
Utiliser map () avec une chaîne comme itérateur
Nous pouvons également utiliser map () sur une chaîne. En Python, une chaîne agit comme un tableau afin que nous puissions facilement l'utiliser dans la map ().
Dans l'exemple, nous avons une fonction myMapFunc () qui se charge de convertir la chaîne donnée en majuscules. La fonction myMapFunc () est donnée à la fonction map (). La fonction map se chargera de convertir la chaîne donnée en majuscules en passant la chaîne à myMapFunc ().
def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)
Production:
Utilisation de map () avec liste de nombres
Pour travailler avec la liste dans map () prendra une liste de nombres et multipliera chaque nombre de la liste par 10.
La liste que nous allons utiliser est: [2,3,4,5,6,7,8,9]. La fonction myMapFunc () prend soin de multiplier le nombre donné par 10. La fonction est donnée à mapper avec la liste.
Exemple:
def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
Production:
Le résultat que nous voyons est que chaque numéro de la liste est
multiplié par 10.
Utiliser map () avec Tuple
Un tuple est un objet en Python qui a des éléments séparés par des virgules et entre crochets. Dans l'exemple, nous prendrons un tuple avec des valeurs de chaîne. La fonction que nous utiliserons convertira les valeurs données en majuscules.
Exemple:
def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))
Production:
La sortie que nous obtenons est un tuple avec toutes les valeurs qu'il contient sont converties en majuscules.
Utilisation de map () avec Dictionary
Un dictionnaire en Python est créé en utilisant des accolades ({}). Puisque le dictionnaire est un itérateur, vous pouvez l'utiliser dans la fonction map (). Utilisons maintenant un dictionnaire comme itérateur dans la fonction map ().
L'exemple suivant montre le fonctionnement de l'itérateur de dictionnaire dans map ()
def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))
Production:
Utiliser map () avec Set
Set in Python est une collection non ordonnée d'éléments entre accolades (()). Puisque set () est également un itérateur, vous pouvez l'utiliser dans la fonction map ().
Voici un exemple de travail d'utilisation de set comme itérateur dans map ()
def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))
Production:
Utilisation de map () avec la fonction Lambda
En Python, les expressions lambda sont utilisées pour construire des fonctions anonymes. Vous devrez utiliser le mot clé lambda comme vous utilisez def pour définir des fonctions normales.
Donc, dans l'exemple, nous allons utiliser la fonction lambda à l'intérieur de la carte (). La fonction lambda multipliera chaque valeur de la liste par 10.
Exemple:
my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))
Production:
Utilisation de plusieurs itérateurs dans la fonction map ()
Exemple 1: Passer deux itérateurs de liste à map ()
Vous pouvez envoyer plusieurs itérateurs, c'est-à-dire une liste, un tuple, etc. en même temps à la fonction map ().
Par exemple, si vous souhaitez ajouter deux listes. La même chose peut être faite en utilisant la fonction map (). Nous allons utiliser deux listes my_list1 et my_list2.
Dans l'exemple ci-dessous, le premier élément de my_list1 est ajouté au premier élément de my_list2. La fonction myMapFunc () prend les éléments de ma_liste1 et de ma_liste2 et renvoie la somme des deux.
Voici l'exemple pratique de l'ajout de deux listes données à l'aide de la fonction map ().
def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))
Production:
Exemple 2: Passer un Tuple et un itérateur de liste à map ()
Nous allons utiliser une liste et un itérateur de tuple dans la fonction map (). La fonction est donnée à map - myMapFunc () récupérera les éléments de la liste et de Tuple. Les éléments seront joints par un trait de soulignement (_). L'exemple de travail est comme indiqué ci-dessous:
def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))
Production:
Résumé
- Python map () est une fonction intégrée qui applique une fonction sur tous les éléments d'un itérateur donné en entrée. Un itérateur, par exemple, peut être une liste, un tuple, une chaîne, etc. et il renvoie un objet map itérable.
- La fonction map () va appliquer la fonction donnée sur tous les éléments à l'intérieur de l'itérateur et retourner un objet map itérable c'est-à-dire un tuple, une liste, etc.
- La fonction map () de Python est une fonction intégrée et peut également être utilisée avec d'autres fonctions intégrées disponibles dans Python.
- Un tuple est un objet en Python qui a des éléments séparés par des virgules et entre crochets. Dans l'exemple, prendra un tuple avec des valeurs de chaîne. La fonction que nous utiliserons convertira les valeurs données en majuscules.
- Un dictionnaire en Python est créé en utilisant des accolades ({}). Puisque le dictionnaire est un itérateur, vous pouvez l'utiliser dans la fonction map ().
- Set in Python est une collection non ordonnée d'éléments entre accolades (()). Puisque set () est également un itérateur, vous pouvez l'utiliser dans la fonction map ().
- En Python, les expressions lambda (ou formes lambda) sont utilisées pour construire des fonctions anonymes. Le mot clé lambda doit donc être utilisé lorsque vous souhaitez utiliser lambda dans la carte ().
- Vous pouvez envoyer plus d'un itérateur, c'est-à-dire une liste, un tuple à la fonction map ().