我想使用lambda函数和map函数将列表中的所有数字转换为它们的正方形,但它似乎没有给我正确的输出!下面是代码:python map函数错误
num_file = [12,24,36]
map(lambda num:num**2,num_file)
但它给我这个输出,而不是正方形:
<map at 0x4d82d10>
请帮帮忙!
我想使用lambda函数和map函数将列表中的所有数字转换为它们的正方形,但它似乎没有给我正确的输出!下面是代码:python map函数错误
num_file = [12,24,36]
map(lambda num:num**2,num_file)
但它给我这个输出,而不是正方形:
<map at 0x4d82d10>
请帮帮忙!
map
返回一个地图对象,以获取列表出来,使用list
功能:
>>> num_file = [12,24,36]
>>> list(map(lambda num:num**2,num_file))
[144, 576, 1296]
您也可以使用列表理解:
>>> num_file = [12,24,36]
>>> [num**2 for num in num_file]
[144, 576, 1296]
这工作!非常感谢 ! –
很高兴帮助:)。 –
map
返回一个发电机。如果你想得到一个实际的清单做list(map(..))
。
请注意,你通常不想明确地做。
例如下面的代码将工作得很好:
for square in map(lambda n: n**2, [12, 24, 36]):
print(square)
只是采用'list'就可以了:'名单(图(拉姆达民:NUM ** 2,num_file))' – PRMoureu