Maison >développement back-end >Tutoriel Python >Comment obtenir une liste à partir de l'itérateur `map()` de Python 3 ?
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!