编程练习(二)矩阵乘法

m1 = [[1,2,3],
      [3,2,1]]
m2 = [[1,2],
      [2,1],
      [3,3]]
# 第一个矩阵的行数:row
row1 = 2
# 第一个矩阵的列数 = 第二个矩阵的行数
col1 = row2 = 3
# 第二个矩阵列数
col2 = 2


def muti(a,b): # a 第一个矩阵一行,b 第二个矩阵一列
    result = 0
    for i in range(len(a)):
        result += a[i]*b[i]
    return result

b = [] # 保存矩阵2 中所有的列
for i in range(col2):
    a = []
    for j in range(row2):
        # 遍历这一列的所有行,得到该列的值
        a.append(m2[j][i])
    b.append(a)

# 有了矩阵2 所有的列之后,遍历矩阵1 每一行,和2中对应的列相乘
for i in range(row1): # 每次遍历,得到最后产生的矩阵的一行
    c =[]
    for j in range(col2):
        c.append(muti(m1[i],b[j]))
    c = list(map(str,c))
    print(' '.join(c))
原文地址:https://www.cnblogs.com/leimu/p/13445994.html