我试图找出在python中正确使用map的方法,这样我就可以通过池.map. 基本上,我在试图理解函数式python的工作原理时遇到了一些问题。我有:
import numpy as np
def maptest(foo,bars):
print foo * bars
main():
matA = np.eye(2)
matB = np.eye(2)
print map((lambda foo: maptest(foo, matB)), matA)
这给了我一个输出:
^{pr2}$当我想要的输出只是:
[[1. 0.]
[0. 1.]]
地图电话怎么回事?这是我第一次使用map和lambda。我用过lambdify和sympy,但这只是我的函数经验。谢谢!在
[None,None]来自打印map调用(请注意,您的maptest函数会打印!)。在
现在,它打印这些多个数组的原因是您将函数映射到所有mapA中。mapA实际上是一个两元素数组,map将函数应用于数组的每个元素。因此,打印[1,0][[1,0][0,1]],然后打印[0,1][[1,0][0,1]]。不是将矩阵相乘,而是进行了两次乘法,每个mapA元素一次。在
相关问题 更多 >
编程相关推荐