Maison > développement back-end > Tutoriel Python > Comment fonctionne la fonction « map » de Python et comment se compare-t-elle aux compréhensions de listes ?

Comment fonctionne la fonction « map » de Python et comment se compare-t-elle aux compréhensions de listes ?

Barbara Streisand
Libérer: 2024-12-23 10:50:16
original
200 Les gens l'ont consulté

How Does Python's `map` Function Work, and How Does It Compare to List Comprehensions?

Démystifier la fonction map

En Python, la fonction map est un outil intégré permettant d'appliquer une fonction spécifiée à chaque élément d'un itérable donné. Il renvoie une liste des sorties de la fonction. Cette fonction joue un rôle important dans la création d'un produit cartésien, qui est un ensemble de toutes les paires ordonnées d'éléments possibles provenant de deux ensembles ou plus.

Considérons l'exemple suivant :

content = map(tuple, array)
Copier après la connexion

Ici , la fonction map prend deux paramètres :

  • Une fonction (tuple dans ce cas) qui convertit chaque élément du tableau en un tuple.
  • Un itérable (tableau) qui contient une série d'éléments.

Le résultat de cette opération cartographique est une liste où chaque élément est une version tuple de l'élément correspondant dans le tableau d'origine.

L'inclusion d'un tuple dans la fonction map affecte la sortie des manières suivantes :

  • Quand la fonction est un tuple, chaque élément est converti en un tuple.
  • Lorsqu'un tuple est utilisé comme itérable, il est traité comme une liste plate comme (a, b, c).
  • Quand un tuple est utilisé à la fois comme fonction et comme itérable, il effectue une sorte d'opération de "transposition", produisant une liste de tuples contenant les éléments correspondants de tous itérables.

Sans la fonction map, la sortie serait simplement la chaîne "abc" car le tableau est une liste plate de caractères. Cependant, grâce à la fonction map, chaque caractère est converti en un tuple à un élément, ce qui donne le résultat ["a", "b", "c"].

Pour saisir pleinement les fonctionnalités de map , il peut être utile de le comparer aux compréhensions de liste, une alternative populaire en Python :

map(f, iterable) is equivalent to [f(x) for x in iterable]
Copier après la connexion

Les compréhensions de liste sont généralement considérées comme plus pythoniques et polyvalentes, en particulier pour créer un cartésien product:

[(a, b) for a in iterable_a for b in iterable_b]
Copier après la connexion

Cette syntaxe génère une liste de toutes les paires possibles entre les éléments de iterable_a et iterable_b. Il peut être décomposé en une structure de boucle imbriquée équivalente pour plus de clarté :

result = []
for a in iterable_a:
    for b in iterable_b:
        result.append((a, b))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal