到以下数组
my_array = np.array([[11,12],[21,22],[31,32]])
我想在偶数值上加100,所以我写道:
my_array[my_array % 2==0]+=100
print(my_array)
[[ 11 112]
[ 21 122]
[ 31 132]]
哪个好。现在,如果我用另一边的加号来写它,我得到:
my_array[my_array % 2==0]=+100
print(my_array)
[[ 11 100]
[ 21 100]
[ 31 100]]
似乎替换而不是添加值,或者将值添加到过滤器的结果中。有人可以向我解释这背后的原因,以及这是否是预期的行为?谢谢!!!
答案 0 :(得分:2)
+=
和=+
x += 1
与x = x + 1
但是x =+1
只是说x = +1
,即您将x
分配给正值的值。
因此,在第二种情况下,您需要分配值100
而不是添加它。