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 : Conversion de 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 une liste de valeurs mappées consiste à utiliser une liste compréhension :
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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3