Maison > développement back-end > Tutoriel Python > Comment fonctionne la fonction « map » de Python et quand dois-je utiliser les compréhensions de liste à la place ?

Comment fonctionne la fonction « map » de Python et quand dois-je utiliser les compréhensions de liste à la place ?

Mary-Kate Olsen
Libérer: 2024-12-06 08:38:13
original
529 Les gens l'ont consulté

How Does Python's `map` Function Work, and When Should I Use List Comprehensions Instead?

Exploration de la fonction Map : un guide complet

La fonction map de Python 2 est un outil puissant pour appliquer une fonction donnée aux éléments d'un itérable, produisant une liste de résultats transformés. Comprendre sa mécanique est essentiel pour utiliser efficacement cette fonction.

Produits cartésiens avec carte

La documentation indique que la carte ne crée pas intrinsèquement de produits cartésiens. Cependant, un produit cartésien peut être généré en appliquant une fonction lambda qui crée des tuples à partir d'itérables, comme le montre l'exemple :

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

Effets du positionnement des tuples

Placer un tuple dans la fonction map, comme dans l'exemple ci-dessus, modifie le format de sortie. Sans le tuple, la sortie serait une seule chaîne « abc ». Avec le tuple, chaque caractère devient un élément individuel au sein d'un tuple : 'a', 'b', 'c'.

Comprendre la définition de référence

La référence la définition peut être simplifiée pour plus de clarté :

  • map applique une fonction à chaque élément d'un itérable, renvoyant une liste de transformés valeurs.
  • Si plusieurs itérables sont fournis, la fonction doit prendre autant d'arguments et est appliquée aux éléments simultanément.
  • Si un itérable est plus court que les autres, il est étendu avec les valeurs « Aucun ».
  • Si aucune fonction n'est spécifiée, map agit comme la fonction d'identité.
  • Avec plusieurs itérables, map produit des tuples d'éléments correspondants à partir de chaque itérable.
  • La sortie de la carte est toujours une liste, quelle que soit la forme de l'entrée.

Équivalent pythonique : compréhensions de listes

Pour un code plus concis, les compréhensions de liste peuvent remplacer la fonction map :

map(f, iterable)
Copier après la connexion

est équivalent à :

[f(x) for x in iterable]
Copier après la connexion

Produit cartésien avec compréhension de liste

Pour générer un produit cartésien à l'aide de compréhensions de liste, la syntaxe suivante est utilisée :

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

Cette approche est préférée à la fonction map pour la génération de produits cartésiens.

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