def matrixMultiply(A, B):
# 获取A的行数和列数
A_row, A_col = shape(A)
# 获取B的行数和列数
B_row, B_col = shape(B)
# 不能运算情况的判断
if(A_col != B_row):
raise ValueError
# 最终的矩阵
result = []
# zip 解包后是转置后的元组,强转成list, 存入result中
BT = [list(row) for row in zip(*B)]
# 开始做乘积运算
for A_index in range(A_row):
# 用于记录新矩阵的每行元素
rowItem = []
for B_index in range(len(BT)):
# num 用于累加
num = 0
for Br in range(len(BT[B_index])):
num += A[A_index][Br] * BT[B_index][Br]
# 累加完成后,将数据存入新矩阵的行中
rowItem.append(num)
result.append(rowItem)
return result
说明: A矩阵与B矩阵的乘法运算,最终得到新的矩阵X , 思路