MATLAB语句A(B==1)=C的python等价物

MATLAB语句A(B==1)=C的python等价物,python,numpy,indexing,Python,Numpy,Indexing,我有三个numpy阵列,如下所示: A = [1, 2, 3, 4, 5] B = [0, 1, 0, 0, 1] C = [30, 40] 我想替换A的元素,它们在B中的等价物等于1。对于上述示例,我希望得到以下结果: A = [1, 30, 3, 4, 40] 在MATLAB中,我可以这样做: A(B==1) = C' 您知道Python中的等效代码吗(最好是在A和B也是多维的情况下工作的代码)?提前谢谢 语法非常相似: >>> import numpy as np

我有三个numpy阵列,如下所示:

A = [1, 2, 3, 4, 5]
B = [0, 1, 0, 0, 1]
C = [30, 40]
我想替换A的元素,它们在B中的等价物等于1。对于上述示例,我希望得到以下结果:

A = [1, 30, 3, 4, 40]
在MATLAB中,我可以这样做:

A(B==1) = C'

您知道Python中的等效代码吗(最好是在A和B也是多维的情况下工作的代码)?提前谢谢

语法非常相似:

>>> import numpy as np
>>> A = np.array([1, 2, 3, 4, 5])
>>> B = np.array([0, 1, 0, 0, 1])
>>> C = np.array([30, 40])
>>> A[B==1] = C
>>> A
array([ 1, 30,  3,  4, 40])