python 3.5 执行map()函数问题
代码
def f(x):
return x*x
print (map(f, [1, 2 , 3, 4, 5, 6, 7, 8, 9]))
执行结果是:
<map object at 0x000000B40E60D518>
请问如何改进?
代码
def f(x):
return x*x
print (map(f, [1, 2 , 3, 4, 5, 6, 7, 8, 9]))
执行结果是:
<map object at 0x000000B40E60D518>
请问如何改进?
2016-03-22
明白了,参考https://segmentfault.com/a/1190000000322433 这是一个python3版本中的一个改动造成,map()函数结果必须传入list封装一下才行。
所以改进为:
def f(x):
return x*x
print (list(map(f, [1, 2 , 3, 4, 5, 6, 7, 8, 9])))
执行结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
请按任意键继续. . .
举报