为了简单起见,让我们定义函数只做矩阵乘法:
f(matrix1, matrix2):
#assume that matrix1.shape == np.transpose(matrix2).shape
#both are 1 dimensional so this returns a scalar
return matrix1 * matrix2
现在假设我想多次运行此函数以获得总和:
- matrix1 - 每次都不同
- matrix2 - 每次都相同
我可以写一个for循环:
matrix_a1 = np.matrix([1,2])
matrix_a2 = np.matrix([3,4])
matrix_list = [matrix_a1, matix_a2]
matrixb = np.matrix([5,6],[7,8])
total = 0
for matrix in matrix_list
total+= f(matrix, matrixb)
我想这样写:
sum(f(matrix_list, matrixb))
但这不起作用,因为它试图在 matrix_list 和 matrixb 之间进行矩阵乘法,而不是遍历 matrix_list。
如何使用 numpy 遍历 matrix_list?