在python中使用numpy进行按位运算的时候,有一个小技巧可以帮助减少代码量——那就是broadcasting,广播机制。
简单来说,broadcasting可以这样理解:如果你有一个大小为(m,n)的矩阵A,让它加减乘除一个大小为(1,n)的矩阵B,B就会被复制m次,成为一个大小为(m,n)的矩阵,然后再逐元素地进行加减乘除操作, 同样地对B大小为(m,1)的矩阵成立.
例如下面的, 不需要去写A + [100, 100, 100]了
A = numpy.array([1,2,3])
result = A + 100
print(result)
# 结果 [101 102 103]
同样
A = np.array([[1,2,3],[4,5,6]])
result = A + [100, 200, 300]
print(result)
#结果
#[[101 202 303]
#[104 205 306]]