我正在尝试将列表映射为十六进制,然后在其他地方使用该列表。在 python 2.6 中,这很容易:
答: Python 2.6:
>>> map(chr, [66, 53, 0, 94])
['B', '5', '\x00', '^']
但是,在 Python 3.1 中,上述内容返回一个地图对象。
B: Python 3.1:
>>> map(chr, [66, 53, 0, 94])
<map object at 0x00AF5570>
如何在 Python 3.x 上检索映射列表(如上面的 A )?
或者,有没有更好的方法来做到这一点?我的初始列表对象有大约 45 个项目,并且 id 喜欢将它们转换为十六进制。
原文由 mozami 发布,翻译遵循 CC BY-SA 4.0 许可协议
做这个:
在 Python 3+ 中,许多迭代可迭代对象的进程本身返回迭代器。在大多数情况下,这最终会节省内存,并且应该让事情变得更快。
如果您要做的只是最终遍历此列表,则甚至无需将其转换为列表,因为您仍然可以遍历
map
对象,如下所示: