map()
La Fonction map()
en Python
map()
est une fonction intégrée en Python qui permet d'appliquer une fonction à chaque élément d'un itérable (comme une liste) et de renvoyer un nouvel itérable avec les résultats.
Utilisation de Base
Syntaxe
map(function, iterable)
function
: Une fonction qui sera appliquée à chaque élément de iterable.
iterable
: Un itérable dont les éléments seront traités par function.
Exemple
def carre(nombre):
return nombre ** 2
nombres = [1, 2, 3, 4]
resultat = map(carre, nombres)
resultat est maintenant un objet map contenant [1, 4, 9, 16]
.
Caractéristiques de map()
Renvoie un Objet Map : map()
ne retourne pas une liste, mais un objet map
, qui est un itérable.
Efficacité : L'objet map
ne stocke pas tous les résultats en mémoire; il les calcule à la volée, ce qui est plus efficace pour de grands itérables.
Utilisations Courantes
Transformation de Données : Idéal pour convertir ou manipuler des collections de données. Substitution de Boucles for : Peut souvent remplacer une boucle for pour une écriture plus concise et plus lisible. Utilisation avec des Fonctions Lambda : Souvent utilisé avec des fonctions lambda pour des opérations simples et anonymes.
resultat = map(lambda x: x**2, nombres)
Conversion en Liste ou Autres Types de Collections
Pour utiliser les résultats de map()
, convertissez l'objet map
en une liste ou une autre structure de données :
resultat_liste = list(resultat)
Combinaison avec d'Autres Itérables
map()
peut accepter plusieurs itérables. La fonction donnée doit alors accepter autant d'arguments qu'il y a d'itérables.
a = [1, 2, 3]
b = [4, 5, 6]
resultat = map(lambda x, y: x + y, a, b) # Résultat : [5, 7, 9]
Bonnes Pratiques
Fonctions Pures : Utilisez des fonctions sans effets secondaires pour de meilleurs résultats et une meilleure prévisibilité.
Lisibilité : Choisissez map()
lorsque cela rend le code plus lisible et plus clair que les boucles équivalentes.
Performances : Préférez map()
pour les transformations simples sur de grands ensembles de données.
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !