python自定义函数实现的矩阵乘法
python自定义函数实现的矩阵乘法,代码定义了两种不同的实现方式,第一种为常规的数组循环,第二种使用了zip函数,只需一行代码即可。
""" 作者:皮蛋编程(https://www.pidancode.com) 创建日期:2022/3/23 功能描述: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)
输出结果如下:
[[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]] ------------------------------------------------------------------------------------------
代码在python3.9环境下测试通过。
相关文章