In [30]: resultOut[30]: [[4, 0, 2, 1], [2, 0, 2, 2], [5, 0, 2, 1]]
综上,大概一共需要 7,8 行代码得到想要的结果
如果使用 Numpy...array([[4, 0, 2, 1], [2, 0, 2, 2], [5, 0, 2, 1]])
np.where 第一个参数,意义为判断条件,官方的解释如下,x , y 和...condition 需要是可广播的,并最终传播为某种 shape....之所以,从文章开头到后面大部分篇幅,都在使用 Python 原生的功能实现与 Numpy 同样的效果,就是为了更好的说明 Numpy 的传播机制。
通过对比,或许更容易明白 Numpy 的传播机制。