获取map()以返回Python3.x中的列表

获取map()以返回Python3.x中的列表

我试着把一个列表映射成十六进制,然后在其他地方使用这个列表。在python2.6中,这很简单:

答:Python2.6:

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

但是,在Python3.1中,上面的内容返回一个map对象。

b:Python 3.1:

>>> map(chr, [66, 53, 0, 94])<map object at 0x00AF5570>

如何检索映射的列表(如A上面)在Python3.x上?

或者,是否有更好的方法来做到这一点?我的初始列表对象有大约45个条目,并且id喜欢将它们转换为十六进制。


一只甜甜圈
浏览 886回答 3
3回答

婷婷同学_

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

临摹微笑

你为什么不这么做[chr(x)&nbsp;for&nbsp;x&nbsp;in&nbsp;[66,53,0,94]]这叫做列表理解。你可以在谷歌上找到很多信息,但是下面是指向列表理解的Python(2.6)文档的链接..你可能更感兴趣Python 3文档化尽管如此。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python