标量乘以矩阵,就是将矩阵中的每一个元素都乘以该标量。

数学表达式为: 其中, 为结果矩阵, 为标量, 为原矩阵。具体计算为:

标准代码如下,要学会善用列表推导式简化代码编写

def scalar_multiply(matrix: List[List[Union[int, float]]], scalar: Union[int, float]) -> List[List[Union[int, float]]]:
    return [[element * scalar for element in row] for row in matrix]

除此之外,也可以使用python的广播机制进一步简化运算

def scalar_multiply(matrix: List[List[Union[int, float]]], scalar: Union[int, float]) -> List[List[Union[int, float]]]:
   import numpy as np
   return (np.array(matrix) * scalar).tolist()

需要注意的是,尽量利用广播等机制可以加快代码运行速度,纯手搓其实没有利用这些机制快