为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只甜甜圈 2019-06-15 18:45:19
获取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喜欢将它们转换为十六进制。
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

这样做:

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

在Python 3+中,许多迭代可迭代的进程本身都会返回迭代器。在大多数情况下,这最终会节省内存,并且会使事情发展得更快。

如果您要做的就是最终遍历这个列表,那么甚至不需要将它转换为一个列表,因为您仍然可以在map对象如下:

# Prints "ABCD"for ch in map(chr,[65,66,67,68]):
    print(ch)


查看完整回答
反对 回复 2019-06-15
?
临摹微笑

TA贡献1982条经验 获得超2个赞

你为什么不这么做

[chr(x) for x in [66,53,0,94]]

这叫做列表理解。你可以在谷歌上找到很多信息,但是下面是指向列表理解的Python(2.6)文档的链接..你可能更感兴趣Python 3文档化尽管如此。


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 883 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信