首页 >后端开发 >Python教程 >如何在 Python 3.x 中将映射迭代器转换为列表?

如何在 Python 3.x 中将映射迭代器转换为列表?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-19 21:20:10703浏览

How Do I Convert a Map Iterator to a List in Python 3.x?

在 Python 3.x 中从 Map 检索列表

在 Python 2.6 中,使用 map 函数将可迭代对象映射到新值返回了一个列表。但是,在 Python 3.x 中,map 函数返回一个迭代器,这可以提高内存效率。

要在 Python 3.x 中以列表形式检索映射值,可以使用列表构造函数:

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

替代方法

或者,还有其他方法将可迭代对象转换为十六进制值列表:

  • 使用列表理解:
my_list = [hex(i) for i in [66, 53, 0, 94]]
  • 使用带有生成器表达式的 join 函数:
my_list = list("\x" + hex(i)[2:] for i in [66, 53, 0, 94])

性能注意事项

通常,使用列表理解比使用带有映射对象的循环更有效。但是,如果您需要多次迭代这些值,使用映射对象可以节省内存,因为它会延迟生成值。

以上是如何在 Python 3.x 中将映射迭代器转换为列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn