Maison  >  Article  >  développement back-end  >  A quoi sert la fonction map en Python ?

A quoi sert la fonction map en Python ?

WBOY
WBOYavant
2023-09-09 19:05:033366parcourir

A quoi sert la fonction map en Python ?

Dans cet article, nous apprendrons l'utilisation de la fonction map en Python.

Qu'est-ce que la fonction map() ?

La fonction map() de Python applique une fonction à chaque élément de l'itérateur fourni en entrée. Les listes, tuples, ensembles, dictionnaires ou chaînes peuvent tous être utilisés comme itérateurs et renvoient tous des objets cartographiques itérables. map() est une fonction intégrée de Python.

Grammaire

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

Paramètres

  • fonction - Il est nécessaire de fournir une carte avec une fonction qui sera appliquée à tous les éléments disponibles de l'itérateur.

  • iterator - Objet itérable forcé. Cela peut être une liste, un tuple, etc. La fonction map() accepte plusieurs objets itérateurs comme paramètres.

Valeur de retour

La méthode

map() applique la fonction spécifiée à chaque élément de l'itérateur et produit un tuple, une liste ou un autre objet cartographique itérable.

Comment fonctionne la fonction map() ?

La fonction et l'objet itérable sont les deux entrées de la fonction map(). La fonction passée à map() est une fonction normale qui parcourra chaque valeur de l'itérable spécifié.

Utilisez map() avec une liste de nombres

Exemple

Le programme suivant utilise la fonction map() en Pythonpour ajouter 5 à chaque élément d'une liste -

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a list and returning it
   return num+5
 
# input list
inputList = [3, 5, 1, 6, 10]
 
# Passing above defined exampleMapFunction function
# and given list to the map() function
# Here it adds 5 to every element of the given list 
modifiedList = map(exampleMapFunction, inputList)
# printing the modifies list(map object)
print(modifiedList)
# converting the map object to the list and printing it 
print("Adding 5 to each element in a list using map():\n", list(modifiedList))

Sortie

<map object at 0x7fb106076d10>
Adding 5 to each element in a list using map():
 [8, 10, 6, 11, 15]

Utilisez map() avec le dictionnaire

Python utilise des dictionnaires pour implémenter les tableaux associatifs les plus courants. Un dictionnaire est un ensemble de paires clé-valeur. Il est défini à l’aide d’accolades {}.

Les dictionnaires sont dynamiques et en constante évolution. Ils peuvent être modifiés et supprimés selon les besoins. Les éléments du dictionnaire sont accessibles à l'aide de clés, mais les éléments de la liste sont récupérés par index en fonction de leur position dans la liste, c'est en quoi les dictionnaires diffèrent des listes.

Puisqu’un dictionnaire est un itérateur, vous pouvez l’utiliser dans la fonction map().

Exemple

Le programme suivant ajoute 5 à chaque élément d'un dictionnaire en utilisant la fonction map() en Python -

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a dictionary and returning it
   return num + 5
 
# input Dictionary
inputDictionary = {2, 3, 4, 5, 6, 7, 8, 9}
 
# passing above defined exampleMapFunction function
# and input dictionary to the map() function
# Here it adds 5 to every element of the given dictionary 
modifiedDict = map(exampleMapFunction, inputDictionary)
# printing the modified dictionary(map object)
print(modifiedDict)
# converting the map object to the list and printing it
print("Adding 5 to each element in a dictionary using map():\n", list(modifiedDict))

Sortie

<map object at 0x7fb1060838d0>
Adding 5 to each element in a dictionary using map():
 [7, 8, 9, 10, 11, 12, 13, 14]

Utilisez la fonction map() avec des tuples

En Python, un tuple est un objet dont les éléments sont séparés par des virgules et mis entre parenthèses.

Exemple

Le code suivant utilise les fonctions lower() et map() pour convertir tous les éléments du tuple en minuscules :

# creating a function that accepts the number as an argument
def exampleMapFunction(i):
   # converting each item in tuple into lower case
   return i.lower()
 
# input tuple
inputTuple = ('HELLO', 'TUTORIALSPOINT', 'pyTHON', 'CODES')
 
# passing above defined exampleMapFunction function
# and input tuple to the map() function
# Here it converts every element of the tuple to lower case 
modifiedTuple = map(exampleMapFunction, inputTuple)
# printing the modified tuple(map object)
print(modifiedTuple)
 
print('Converting each item in a tuple to lowercase:')
# converting the map object to the list and printing it
print(list(modifiedTuple))

Sortie

<map object at 0x7fb10f773590>
Converting each item in a tuple to lowercase:
['hello', 'tutorialspoint', 'python', 'codes']

Utilisation de map() et d'autres outils de fonction en Python

En utilisant map() avec des outils fonctionnels comme filter() et reduce(), nous pouvons effectuer des modifications plus complexes sur des objets itérables.

Utilisez les fonctions map() et filter()

Dans certains cas, nous devons gérer l'entrée d'un itérable et renvoyer un autre objet itérable en supprimant/filtrant les éléments inutiles de l'entrée. Dans ce cas, le filter() de Python est un choix judicieux.

La fonction

filter() renvoie les éléments d'entrée itérables qui satisfont au retour de la fonction true.

Si aucune fonction n'est passée, filter() utilisera la fonction d'identité. Cela signifie que filter() vérifie la vraie valeur de chaque élément de l'itérable et supprime toutes les fausses valeurs.

Exemple

La fonction suivante utilise une combinaison de fonctions filter() et map() pour filtrer tous les nombres positifs d'une liste et renvoyer leurs racines carrées -

# importing math module
import math 
 
# creating a function that returns whether the number 
# passed is a positive number or not 
def isPositive(n): 
   return n >= 0 
 
# creating a function that filters all the positive numbers
# from the list and returns the square root of them. 
def filterSqrtofPositive(nums): 
   # filtering all the positive numbers from the list using filter()
   # and returning the square root of them using the math.sqrt and map()  
   filteredItems = map(math.sqrt, filter(isPositive, nums)) 
   # returning the list of filetred elements
   return list(filteredItems) 
 
# input list
inputList= [16, -10, 625, 25, -50, -25]
# calling the function by passing the input list 
print(filterSqrtofPositive(inputList))

Sortie

[4.0, 25.0, 5.0]

Conclusion

La fonction map() de Python vous permet d'effectuer des opérations sur des objets itérables. Map() est généralement utilisé pour convertir et manipuler des objets itérables sans boucle.

Dans cet article, nous avons appris à utiliser la méthode map() en Python, en prenant plusieurs types de données comme exemples.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer