Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques

Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques

La fonction intégrée map() de Python applique une fonction à chaque élément d'un itérable (liste, tuple, ensemble, chaîne, dictionnaire, etc.) et renvoie un nouvel itérable. C'est une pierre angulaire de la programmation fonctionnelle en Python.

Ce que vous apprendrez

Syntaxe

map(fonction, iterable1, iterable2, ... iterableN)

Paramètres

Valeur de retour

Le résultat est un objet map — un itérable paresseux qui produit les éléments transformés. Convertissez-le en liste, tuple ou ensemble pour consommer les valeurs.

Comment map() fonctionne

Voici un exemple simple qui met au carré chaque nombre d'une liste.

def carre(n):
    return n * n

ma_liste = [2, 3, 4, 5, 6, 7, 8, 9]
mis_a_jour = map(carre, ma_liste)
print(list(mis_a_jour))  # [4, 9, 16, 25, 36, 49, 64, 81]

L'objet map est paresseux ; le convertir en liste force l'évaluation.

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

Combinez map() avec n'importe quelle fonction intégrée qui accepte un seul argument. Par exemple, arrondir des nombres flottants :

valeurs = [2.6743, 3.63526, 4.2325, 5.9687967, 6.3265, 7.6988, 8.232, 9.6907]
valeurs_arrondies = map(round, valeurs)
print(list(valeurs_arrondies))  # [3, 4, 4, 6, 6, 8, 8, 10]

Map sur les chaînes

Les chaînes sont itérables, donc map() peut transformer chaque caractère ou mot.

def en_majuscules(s):
    return s.upper()

texte = "bienvenue sur les tutoriels guru99 !"
print("".join(map(en_majuscules, texte)))  # BIENVENUE SUR LES TUTORIELS GURU99 !

Map sur les listes de nombres

def fois_dix(n):
    return n * 10

nombres = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(fois_dix, nombres)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Map sur les tuples

def en_majuscules_str(s):
    return s.upper()

langages = ("php", "java", "python", "c++", "c")
print(list(map(en_majuscules_str, langages)))  # ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Map sur les dictionnaires et ensembles

Lorsqu'on itère sur un dictionnaire, map() reçoit ses clés. Pour un ensemble, l'ordre est arbitraire.

def fois_dix(n):
    return n * 10

ensemble_exemple = {2, 3, 4, 5, 6, 7, 8, 9}
print(sorted(map(fois_dix, ensemble_exemple)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Utiliser les fonctions lambda

Les fonctions anonymes gardent le code concis :

nombres = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(lambda x: x * 10, nombres)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Itérateurs multiples

Exemple 1 : Additionner deux listes

def additionner(a, b):
    return a + b

liste1 = [2, 3, 4, 5, 6, 7, 8, 9]
liste2 = [4, 8, 12, 16, 20, 24, 28]
print(list(map(additionner, liste1, liste2)))  # [6, 11, 16, 21, 26, 31, 36]

Exemple 2 : Concaténer éléments de liste et tuple

def concatener(a, b):
    return f"{a}_{b}"

lettres = ['a', 'b', 'b', 'd', 'e']
marques = ('PHP', 'Java', 'Python', 'C++', 'C')
print(list(map(concatener, lettres, marques)))  # ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Points clés à retenir

Python

  1. Fonctions lambda en Python : Guide pratique des fonctions anonymes
  2. Générateurs Python : itération efficace et cas d'utilisation avancés
  3. Les fermetures Python expliquées : comment les fonctions imbriquées capturent les variables
  4. Maîtriser les décorateurs Python : améliorer les fonctions avec des techniques expertes
  5. Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
  6. Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
  7. Fonction Python print() : Guide pratique avec exemples
  8. Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
  9. Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples