在Python 3.x中获取map()以返回列表

我正在尝试将列表映射为十六进制,然后在其他地方使用该列表。在python 2.6中,这很简单:

答: Python 2.6:

>>> map(chr, [66, 53, 0, 94])

['B', '5', '\x00', '^']

但是,在Python 3.1中,以上代码返回一个map对象。

B: Python 3.1:

>>> map(chr, [66, 53, 0, 94])

<map object at 0x00AF5570>

如何在Python 3.x上检索映射列表(如上面的A所示)?

另外,还有更好的方法吗?我的初始列表对象大约有45个项目,并且id希望将它们转换为十六进制。

回答:

做这个:

list(map(chr,[66,53,0,94]))

在Python 3+中,许多迭代可迭代对象的进程本身都会返回迭代器。在大多数情况下,这最终会节省内存,并且应该使处理速度更快。

如果你要做的只是最终遍历此列表,则无需将其转换为列表,因为你仍然可以map像这样遍历该对象:

# Prints "ABCD"

for ch in map(chr,[65,66,67,68]):

print(ch)

以上是 在Python 3.x中获取map()以返回列表 的全部内容, 来源链接: utcz.com/qa/422462.html

回到顶部