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
Libérer: 2024-12-09 22:17:10
original
673 Les gens l'ont consulté

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]))
Copier après la connexion

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]]
Copier après la connexion

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)
Copier après la connexion

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!

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