Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我得到<;在0x0389DCD0处映射对象>;使用地图时_Python_Python 3.x - Fatal编程技术网

Python 为什么我得到<;在0x0389DCD0处映射对象>;使用地图时

Python 为什么我得到<;在0x0389DCD0处映射对象>;使用地图时,python,python-3.x,Python,Python 3.x,到目前为止,我对map函数的理解是,它将给定函数应用于iterable中的每个项,并返回结果列表 def square(num): return num**2 list_num = [1,2,3,4] 以上述函数和数字列表为例 如果我们:list(map(square,list_num))我们将得到一个输出[1,4,9,16] 现在是我找不到合理解释的部分,如果我 print(map(square,list_num))我将得到一个输出 我的问题是,当我使用print()函数或者当使用

到目前为止,我对map函数的理解是,它将给定函数应用于iterable中的每个项,并返回结果列表

def square(num):
    return num**2

list_num = [1,2,3,4]
以上述函数和数字列表为例

如果我们:
list(map(square,list_num))
我们将得到一个输出
[1,4,9,16]

现在是我找不到合理解释的部分,如果我

print(map(square,list_num))
我将得到一个输出


我的问题是,当我使用
print()
函数或者当使用
map(square,list_num)
时,为什么我得到的是内存位置而不是列表。它返回一个
map
对象,该对象根据需要惰性地生成结果:

print(type(map(int, [1])))
<class 'map'>
print(类型(map(int[1]))
它也不会覆盖stringify方法,该方法将产生漂亮的打印结果。这可能是因为这需要强制对整个列表进行评估,如果这在您的程序中是可以接受的,那么您可能不应该首先使用
map
;除非您正在调试,否则在这种情况下使用
list
可能没问题,除非您处理的是无限列表


如果要打印完整的元素,请在打印之前将其放入列表中,以明确强制打印,或者使用严格的列表生成方法,如列表理解。

map
不会返回列表。它返回一个
map
对象,该对象根据需要惰性地生成结果:

print(type(map(int, [1])))
<class 'map'>
print(类型(map(int[1]))
它也不会覆盖stringify方法,该方法将产生漂亮的打印结果。这可能是因为这需要强制对整个列表进行评估,如果这在您的程序中是可以接受的,那么您可能不应该首先使用
map
;除非您正在调试,否则在这种情况下使用
list
可能没问题,除非您处理的是无限列表


如果要打印完整的元素,请在打印之前将其放入列表中,明确强制打印,或者使用严格的列表生成方法,如列表理解。

因为
map
返回的是一个映射对象,而不是列表:制作一个迭代器,使用来自每个iterables的参数计算函数。当最短的iterable用完时停止。“可能重复的我了解如何从map获取结果列表以及如何使用它…我只需要一个合理的解释,说明为什么单独使用map或与打印功能一起使用map时它会输出内存位置。但谢谢:)。因为
map
返回一个map对象,而不是列表:”制作一个迭代器,使用每个Iterable的参数计算函数。当最短的iterable用完时停止。“可能的重复我了解如何从map获取结果列表以及如何使用它…我只需要一个合理的解释,说明为什么单独使用map或使用打印功能时它会输出内存位置。但谢谢:)。