python - 获取map()以返回Python 3.x中的列表

我正在尝试将列表映射为十六进制,然后在其他地方使用该列表。在Python2.6中,这很容易:
A:蟒蛇2.6:

>>> map(chr, [66, 53, 0, 94])
['B', '5', '\x00', '^']

但是,在python 3.1中,上面的返回一个map对象。
B:蟒蛇3.1:
>>> map(chr, [66, 53, 0, 94])
<map object at 0x00AF5570>

如何在python 3.x上检索映射列表(如上所述)?
或者,是否有更好的方法来实现这一点?我的初始列表对象有大约45个项目,我想把它们转换成十六进制。


最佳答案:

执行此操作:

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

在python 3+中,许多迭代iterables的进程本身返回迭代器。在大多数情况下,这最终会节省内存,并且会使事情发展得更快。
如果您所要做的就是最终对这个列表进行迭代,那么甚至不需要将其转换为列表,因为您仍然可以像这样对map对象进行迭代:
# Prints "ABCD"
for ch in map(chr,[65,66,67,68]):
    print(ch)