Maison >développement back-end >Tutoriel Python >Comment obtenir une liste à partir de l'itérateur `map()` de Python 3 ?

Comment obtenir une liste à partir de l'itérateur `map()` de Python 3 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-09 22:17:10633parcourir

How Do I Get a List from Python 3's `map()` Iterator?

Récupération de listes mappées dans Python 3.x : map() en tant qu'itérateur

Dans Python 3.x, la fonction map() renvoie un itérateur au lieu d'une liste. Ce changement a été mis en œuvre pour améliorer l'efficacité de la mémoire et optimiser les performances. Cependant, cela pose un défi si vous devez récupérer les valeurs mappées sous forme de liste pour un traitement ultérieur.

Solution : convertir l'itérateur en liste

Pour récupérer le valeurs mappées sous forme de liste, utilisez la fonction list() pour convertir l'itérateur renvoyé par map() :

mapped_list = list(map(chr, [66, 53, 0, 94]))

Ce code renverra une liste contenant les caractères mappés : ['B', '5', 'x00', '^'].

Alternative : utiliser une compréhension de liste

Une manière plus concise de convertir une liste en liste de valeurs mappées consiste à utiliser une compréhension de liste :

mapped_list = [chr(c) for c in [66, 53, 0, 94]]

Cette expression produit le même résultat que l'exemple map() ci-dessus.

Itération directe sur l'objet cartographique

Dans certains scénarios, vous n'aurez peut-être pas besoin de convertir l'objet cartographique en liste. Vous pouvez parcourir l'objet cartographique directement à l'aide d'une boucle for :

for c in map(chr, [65, 66, 67, 68]):
    print(c)

Ce code imprimera les caractères "ABCD" sans créer de liste inutile.

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:
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