Recuperando listas asignadas en Python 3.x: map() como iterador
En Python 3.x, la función map() devuelve un iterador en lugar de una lista. Este cambio se implementó para mejorar la eficiencia de la memoria y optimizar el rendimiento. Sin embargo, plantea un desafío si necesita recuperar los valores asignados como una lista para su posterior procesamiento.
Solución: convertir el iterador en una lista
Para recuperar el valores mapeados como una lista, use la función list() para convertir el iterador devuelto por map():
mapped_list = list(map(chr, [66, 53, 0, 94]))
Este código devolverá una lista que contiene los caracteres asignados: ['B', '5', '\x00', '^'].
Alternativa: usar una lista por comprensión
Una forma más concisa de convertir una lista en una lista de valores asignados es usar una lista comprensión:
mapped_list = [chr(c) for c in [66, 53, 0, 94]]
Esta expresión produce el mismo resultado que el ejemplo de map() anterior.
Iteración directa sobre el objeto del mapa
En ciertos escenarios, es posible que no necesite convertir el objeto del mapa en una lista. Puede iterar sobre el objeto del mapa directamente usando un bucle for:
for c in map(chr, [65, 66, 67, 68]): print(c)
Este código imprimirá los caracteres "ABCD" sin crear una lista innecesaria.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3