Python Fonction map() avec des exemples
โก Rรฉsumรฉ intelligent
Python La fonction `map()` applique une fonction donnรฉe ร chaque รฉlรฉment d'un itรฉrable tel qu'une liste, un tuple, un ensemble, un dictionnaire ou une chaรฎne de caractรจres. Elle renvoie un objet `map` paresseux que vous pouvez convertir avec `list()` ou parcourir ร l'aide d'une boucle.

Syntaxe
map(function, iterator1,iterator2 ...iteratorN)
Paramรจtres
Voici deux paramรจtres importants :
- fonction: Une fonction obligatoire ร fournir ร map(), qui sera appliquรฉe ร tous les รฉlรฉments disponibles dans l'itรฉrateur.
- itรฉrateur : Un objet itรฉrable obligatoire. Il peut s'agir d'une liste, d'un tuple, etc. Vous pouvez passer plusieurs objets itรฉrables ร la fonction map().
Valeur de retour
La fonction map() applique la fonction donnรฉe ร tous les รฉlรฉments contenus dans l'itรฉrateur et renvoie un objet map itรฉrable, c'est-ร -dire un tuple, une liste, etc.
Comment fonctionne la fonction map() ?
La fonction map() prend deux arguments : une fonction et un objet itรฉrable. La fonction fournie ร map() est une fonction classique qui parcourt toutes les valeurs prรฉsentes dans lโobjet itรฉrable.
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 d'une fonction qui renvoie le carrรฉ du nombre donnรฉ. Cette fonction est la suivante :
def square(n): return n*n
Voici la liste des รฉlรฉments pour lesquels nous voulons trouver le carrรฉ :
my_list = [2,3,4,5,6,7,8,9]
Utilisons maintenant la fonction intรฉgrรฉe map() 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]
Le rรฉsultat de la fonction map(), comme indiquรฉ ci-dessus, est un objet carte affichรฉ ร l'รฉcran sous la forme suivante : .
Vous devrez parcourir le rรฉsultat de `map()` ร l'aide d'une boucle `for` ou de la mรฉthode `list()` pour obtenir le rรฉsultat final. J'ai utilisรฉ `list()` dans le code pour afficher les valeurs de la liste fournie.
Ainsi, grรขce ร la fonction map(), nous pouvons obtenir le carrรฉ de chaque nombre. La liste fournie ร map() รฉtait [2,3,4,5,6,7,8,9], et en utilisant la fonction square(), le rรฉsultat obtenu est [4, 9, 16, 25, 36, 49, 64, 81].
La fonction `map()` applique la fonction `square()` ร tous les รฉlรฉments de la liste. Par exemple, elle prend la variable `my_list` et met ร jour la liste en attribuant le carrรฉ ร chaque nombre. Le rรฉsultat est stockรฉ dans la variable `updated_list`.
Utiliser map() avec Python fonctions intรฉgrรฉes
Le 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 PythonDans cet exemple, nous allons utiliser Python La fonction intรฉgrรฉe round() arrondit les valeurs donnรฉes.
Exemple :
Ma liste 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 de la liste ; nous utiliserons donc la fonction `round()` avec `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 dont toutes les valeurs sont arrondies, comme le montre le rรฉsultat.
Utiliser map() avec une chaรฎne comme itรฉrateur
Nous pouvons รฉgalement utiliser map() sur une chaรฎne. Dans Python, une chaรฎne de caractรจres se comporte comme un tableau, nous pouvons donc facilement l'utiliser dans map().
Dans cet exemple, la fonction `myMapFunc()` convertit la chaรฎne de caractรจres donnรฉe en majuscules. Elle est ensuite passรฉe en argument ร la fonction `map()`, qui se chargera de convertir la chaรฎne en majuscules.
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!
Utilisation de map() avec une liste de Numbers
Pour travailler avec une liste dans map(), nous prendrons une liste de nombres et multiplierons 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() multiplie chaque nombre donnรฉ par 10. Cette fonction est fournie ร map() 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]
Le rรฉsultat obtenu est que chaque nombre de la liste est multipliรฉ par 10.
Utiliser map() avec Tuple
Un tuple est un objet dans Python Il s'agit d'un tuple dont les รฉlรฉments sont sรฉparรฉs par des virgules et placรฉs entre parenthรจses. Dans cet exemple, nous prendrons un tuple contenant des chaรฎnes de caractรจres. La fonction utilisรฉe convertira ces valeurs 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']
Le rรฉsultat obtenu est un tuple dont toutes les valeurs sont converties en majuscules.
Utiliser map() avec le dictionnaire
A dictionnaire dans Python Il est crรฉรฉ ร l'aide d'accolades ({}). Puisqu'il s'agit d'un itรฉrateur, vous pouvez l'utiliser dans la fonction map(). Voyons maintenant comment utiliser un dictionnaire comme itรฉrateur dans map().
L'exemple suivant illustre le fonctionnement d'un itรฉrateur de dictionnaire ร l'intรฉrieur de 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
Un ensemble de Python `set()` est une collection non ordonnรฉe d'รฉlรฉments entre accolades (`{}`). Comme `set()` est รฉgalement un itรฉrateur, vous pouvez l'utiliser ร l'intรฉrieur de la fonction `map()`.
Voici un exemple fonctionnel d'utilisation d'un ensemble comme itรฉrateur dans la fonction 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.
Dans cet exemple, nous allons utiliser la fonction lambda ร l'intรฉrieur de `map()`. Cette 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 : Passage de deux itรฉrateurs de liste ร map()
Vous pouvez envoyer plusieurs itรฉrateurs, c'est-ร -dire une liste, un tuple, etc., simultanรฉment ร la fonction map().
Par exemple, si vous souhaitez additionner deux listes, vous pouvez utiliser 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 paramรจtres les รฉlรฉments de my_list1 et my_list2 et renvoie la somme des deux.
Voici un exemple fonctionnel d'addition 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 passรฉe ร `map()`, `myMapFunc()`, rรฉcupรฉrera les รฉlรฉments de la liste et du tuple. Les รฉlรฉments seront joints par un tiret bas (`_`). Un exemple fonctionnel est prรฉsentรฉ 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']
