1 ### 按二维数组格式进行输出二维数组 2 def arr2_print(arr): 3 for i in range(len(arr)): 4 if i == 0: 5 print("[",arr[i]) 6 elif i == len(arr)-1: 7 print(" ",arr[i],"]") 8 else: 9 print(" ",arr[i]) 10 return 11 ### 实现矩阵相乘 12 def square_matrix_multiply(arr_1,arr_2): 13 # 构建存储矩阵乘法结果的二维数组,并将数据初始化为 0,维度: arr_1 的行数 X arr_2 的列数 14 arr_3 = [ [0 for j in range(len(arr_1))] for i in range(len(arr_2[0])) ] 15 for i in range(len(arr_1)): # len(arr_1) arr_1 行数 16 for j in range(len(arr_2[0])): # len(arr_2[0]) arr_2 列数 17 # arr_1 的列 和 arr_2 的行 相同,为计算结果矩阵中一个元素时所需要的乘法次数 18 for k in range(len(arr_1[0])): 19 arr_3[i][j] = arr_3[i][j] + arr_1[i][k] * arr_2[k][j] 20 return arr_3 21 22 if __name__ == '__main__': 23 arr_1 = [[1,2,3],[4,5,6]] 24 arr_2 = [[1,4],[2,5],[3,6]] 25 arr_3 = square_matrix_multiply(arr_1,arr_2) 26 # print("矩阵1: ",arr_1," 矩阵2: ",arr_2," 二者矩阵相乘结果为:",arr_3) 27 print("矩阵1:") 28 arr2_print(arr_1) 29 print("矩阵2:") 30 arr2_print(arr_2) 31 print("二者矩阵相乘结果为:") 32 arr2_print(arr_3) 33 ''' 运行结果: 34 矩阵1: 35 [ [1, 2, 3] 36 [4, 5, 6] ] 37 矩阵2: 38 [ [1, 4] 39 [2, 5] 40 [3, 6] ] 41 二者矩阵相乘结果为: 42 [ [14, 32] 43 [32, 77] ] 44 '''