MST

星途 面试题库

面试题:Python中NumPy多维数组的矩阵运算

给定两个NumPy的二维数组A和B,A是3x2的数组,元素为[[1, 2], [3, 4], [5, 6]];B是2x3的数组,元素为[[7, 8, 9], [10, 11, 12]]。请使用NumPy实现矩阵乘法,并处理可能出现的维度不匹配异常,返回正确的结果或给出异常处理的信息。
12.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import numpy as np

A = np.array([[1, 2], [3, 4], [5, 6]])
B = np.array([[7, 8, 9], [10, 11, 12]])

try:
    result = np.dot(A, B)
    print(result)
except ValueError as e:
    print(f"维度不匹配异常: {e}")
  1. 代码解释
    • 首先导入numpy库,这是Python中常用的数学计算库。
    • 定义了二维数组AB,它们的维度分别是3x22x3,满足矩阵乘法的维度要求(前一个矩阵的列数等于后一个矩阵的行数)。
    • 使用np.dot函数进行矩阵乘法,np.dotnumpy中用于矩阵乘法的函数。
    • 使用try - except语句捕获可能出现的ValueError异常,当矩阵维度不匹配时,np.dot会抛出该异常。如果捕获到异常,打印异常信息。如果没有异常,打印矩阵乘法的结果。

结果为:

[[27 30 33]
 [61 68 75]
 [95 106 117]]