numpy数组引用的+=运算符问题
在numpy中,有array a,如果令b=a,则b成为a的引用,和a指向同一个array。
但是对b的两种不同的操作方式,会导致b成为新的copy或者保持引用状态。
即采用b+=1 或 b=b+1会导致很大的不同。这个不清楚的话会很困惑,要记住。
例子如下:
a = np.random.rand(3)
print(a)
# b和a指向了不同的array
b = a
b = b+1
print((a,b))
# b和a仍然指向同个array
b = a
b += 1
print((a,b))