Python Fonction 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 renvoie un objet map itérable. Python map() est une fonction intégrée.

Syntaxe

map(function, iterator1,iterator2 ...iteratorN)

Paramètres

Voici deux importants

  • function : Une fonction obligatoire à donner à map, qui sera appliquée à tous les éléments disponibles dans l'itérateur.
  • itérateur : un objet obligatoire itérable. Il peut s'agir d'une liste, d'un tuple, etc. Vous pouvez transmettre 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 renvoyer 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 parcourra 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 le résultat, 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 que nous souhaitons trouver sur le carré est la suivante :

my_list = [2,3,4,5,6,7,8,9]

Utilisons maintenant la fonction intégrée map() de 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(), telle qu'elle apparaît dans la sortie, est un objet cartographique affiché à l'écran sous la forme .

Vous devrez parcourir 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 dans la liste donnée.

Ainsi, 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 my_list met à jour la liste avec le carré de chaque nombre. Le résultat est stocké dans la variable update_list.

Utiliser map() avec Python fonctions intégrées

Python La fonction 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 Python Fonction intégrée round() qui arrondit les valeurs données.

Mise en situation :

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 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))

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. Dans Python, une chaîne agit comme un tableau afin que nous puissions facilement l'utiliser dans 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 listof Numbers

Pour travailler avec la liste dans map(), il faudra 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() se charge de multiplier le nombre donné par 10. La fonction est donnée à cartographier avec la liste.

Mise en situation :

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]

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 dans Python qui contient des éléments séparés par des virgules et entourés de parenthèses. 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.

Mise en situation :

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 dont toutes les valeurs qu'il contient sont converties en majuscules.

Utiliser map() avec le dictionnaire

A dictionnaire dans 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

S'installer Python est une collection non ordonnée d'éléments entre accolades (()). Étant donné que set() est également un itérateur, vous pouvez l'utiliser dans la fonction map().

Voici un exemple pratique 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]

Utilisation de map() avec la fonction Lambda

In Python, les expressions lambda sont utilisées pour construire des fonctions anonymes. Vous devrez utiliser le mot-clé lambda tout 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.

Mise en situation :

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 de 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 en compte 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 du Tuple. Les éléments seront joints par un trait de soulignement (_). L'exemple de travail est le suivant :

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 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 renvoyer un objet map itérable, c'est-à-dire un tuple, une liste, etc.
  • Python La fonction 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 dans Python qui contient des éléments séparés par des virgules et entourés de parenthèses. 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.
  • Un dictionnaire en Python est créé à l'aide d'accolades ({}). Étant donné que le dictionnaire est un itérateur, vous pouvez l'utiliser dans la fonction map().
  • S'installer Python est une collection non ordonnée d'éléments entre accolades (()). Étant donné que set() est également un itérateur, vous pouvez l'utiliser dans la fonction map().
  • In 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 map().
  • Vous pouvez envoyer plusieurs itérateurs, c'est-à-dire une liste, un tuple à la fonction map().