Fonction Python map() avec EXEMPLES
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 renvoie un objet de carte itérable. Python map() est une fonction intégrée.
Dans ce didacticiel, vous apprendrez :
- Syntaxe :
- Comment fonctionne la fonction map() ?
- Utiliser map() avec les fonctions intégrées de Python
- Utiliser map() avec une chaîne comme itérateur
- Utiliser map() avec une liste de nombres
- Utiliser map() avec Tuple
- Utiliser map() avec Dictionary
- Utiliser map() avec Set
- Utiliser map() avec la fonction Lambda
- Utilisation de plusieurs itérateurs dans la fonction map()
Syntaxe :
map(function, iterator1,iterator2 ...iteratorN)
Paramètres
Voici deux éléments importants
- fonction :Une fonction obligatoire à donner à la carte, qui sera appliquée à tous les éléments disponibles dans l'itérateur.
- iterator :un objet obligatoire itérable. Il peut s'agir d'une liste, d'un tuple, etc. Vous pouvez passer plusieurs objets itérateurs à 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, supposons que vous ayez une liste de nombres et que vous souhaitiez trouver le carré de chacun des nombres.
Pour obtenir la sortie, nous avons besoin de la fonction qui renverra 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 map() python pour obtenir le carré de chacun des éléments de my_list.
Le code final est le suivant :
def square(n): return n*n my_list = [2,3,4,5,6,7,8,9] updated_list = map(square, my_list) print(updated_list) print(list(updated_list))
Sortie :
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
La sortie de la fonction map(), comme on le voit dans la sortie, est un objet cartographique affiché à l'écran sous la forme
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 est [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, my_list variable et met à jour la liste avec le carré de chaque nombre. La sortie est stockée dans la variable updated_list.
Utiliser map() avec les fonctions intégrées de Python
La fonction Python map() 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 my_list =[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 pour mapper().
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))
Sortie :
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
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 à l'intérieur de la map().
Dans l'exemple, nous avons une fonction myMapFunc() qui s'occupe de convertir la chaîne donnée en majuscule. La fonction myMapFunc() est donnée à la fonction map(). La fonction map se chargera de convertir la chaîne donnée en majuscule 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="")
Sortie :
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Utiliser map() avec une 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 () s'occupe de multiplier le nombre donné par 10. La fonction est donnée pour mapper avec la liste.
Exemple :
def myMapFunc(n): return n*10 my_list = [2,3,4,5,6,7,8,9] updated_list = map(myMapFunc, my_list) print(updated_list) print(list(updated_list))
Sortie :
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
La sortie 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 dont les éléments sont séparés par des virgules et entre parenthèses. Dans l'exemple, nous prendrons un tuple avec des valeurs de chaîne. La fonction que nous allons utiliser 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))
Sortie :
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
La sortie que nous obtenons est un tuple avec toutes les valeurs qu'il contient sont converties en majuscules.
Utiliser map() avec Dictionary
Un dictionnaire en Python est créé à l'aide d'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*10 my_dict = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_dict) print(finalitems) print(list(finalitems))
Sortie :
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Utiliser map() avec Set
Set en Python est une collection non ordonnée d'éléments entre accolades (()). Puisque set() est aussi un itérateur, vous pouvez l'utiliser dans la fonction map().
Voici un exemple concret d'utilisation de set comme itérateur dans map()
def myMapFunc(n): return n*10 my_set = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_set) print(finalitems) print(list(finalitems))
Sortie :
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Utiliser 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 map(). 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))
Sortie :
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
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., tous 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 my_list1 et my_list2 et renvoie la somme des deux.
Voici l'exemple pratique d'ajout de deux listes données à l'aide de la fonction map().
def myMapFunc(list1, list2): return list1+list2 my_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))
Sortie :
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
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() obtiendra 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+"_"+tuple1 my_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))
Sortie :
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
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 de carte itérable.
- La fonction map() va appliquer la fonction donnée sur tous les éléments à l'intérieur de l'itérateur et renvoyer un objet map itérable, c'est-à-dire un tuple, une liste, etc.
- La fonction Python map() 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 dont les éléments sont séparés par des virgules et entre parenthèses. Dans l'exemple, nous prendrons un tuple avec des valeurs de chaîne. La fonction que nous allons utiliser convertira les valeurs données en majuscules.
- Un dictionnaire en Python est créé à l'aide d'accolades ({}). Comme le dictionnaire est un itérateur, vous pouvez l'utiliser dans la fonction map().
- Set en Python est une collection non ordonnée d'éléments entre accolades (()). Puisque set() est aussi 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. Ainsi, le mot-clé lambda doit être utilisé lorsque vous souhaitez utiliser lambda à l'intérieur de la carte().
- Vous pouvez envoyer plus d'un itérateur, c'est-à-dire une liste, un tuple à la fonction map().
Python
- Fonction Python Anonyme/Lambda
- Générateurs Python
- Fermetures Python
- Décorateurs Python
- Surcharge d'opérateur C++ avec des exemples
- Fonctions C++ avec exemples de programmes
- Instruction Python Print() :comment imprimer avec des exemples
- Python String strip() Fonction avec EXAMPLE
- Python String count() avec des EXEMPLES