python实现的矩阵乘法
def matrixMul(A, B): res = [[0] * len(B[0]) for i in range(len(A))] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(B)): res[i][j] += A[i][k] * B[k][j] return res def matrixMul2(A, B): return [[sum(a * b for a, b in zip(a, b)) for b in zip(*B)] for a in A] a = [[1,2], [3,4], [5,6], [7,8]] b = [[1,2,3,4], [5,6,7,8]] print matrixMul(a,b) print matrixMul(b,a) print "-"*90 print matrixMul2(a,b) print matrixMul2(b,a) print "-"*90 from numpy import dot print map(list,dot(a,b)) print map(list,dot(b,a)) #Out: #[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]] #[[50, 60], [114, 140]] #------------------------------------------------------------------------ #[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]] #[[50, 60], [114, 140]] #------------------------------------------------------------------------ #[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]] #[[50, 60], [114, 140]]