在 Python 3.x 中,map() 函数默认返回迭代器而不是列表。如果您想直接使用映射的元素,这可能会很不方便。
一个常见的任务是将整数列表转换为其十六进制表示形式。在Python 2.6中,使用map()函数很简单,如下所示:
# Python 2.6 hex_list = map(chr, [66, 53, 0, 94]) # Return a list of hex characters
但是,在Python 3.1中,上面的代码返回一个地图对象:
# Python 3.1 hex_map = map(chr, [66, 53, 0, 94]) # Return a map object
要检索Python 3.x中映射元素的实际列表,可以使用list()函数转换map对象到列表中:
hex_list = list(map(chr, [66, 53, 0, 94]))
将整数列表映射到其十六进制表示的另一种方法是使用列表理解,如下所示:
hex_list = [chr(n) for n in [66, 53, 0, 94]]
这种方法不需要使用map()函数并创建一个列表
请注意,您仍然可以在 Python 3.x 中迭代映射对象,而无需先将其转换为列表:
for ch in map(chr, [65, 66, 67, 68]): print(ch) # Prints "ABCD"
以上是如何将Python 3的`map`对象转换为列表?的详细内容。更多信息请关注PHP中文网其他相关文章!