當我使用分片使用數組分配時,發生了一些奇怪的事情。的源代碼是下面:使用分片的陣列分配
import numpy as np
a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([5,6,7,8]).reshape(2,2)
print(id(a))
print(id(b))
b = a[:]
b[1,1] = 10
print(b is a)
print(id(a))
print(id(b))
print(a)
print(b)
結果被給出爲:
從該結果的IDb和一個是數組賦值後不同,但是當我更改b的值時,a中的值也發生了變化。爲什麼是這樣?
使用Sublime Text,Python 3.4.3。
該鏈接是關於列表。這個問題是關於'numpy'數組的。 – hpaulj
'a [:]'使'view'不是副本。 – hpaulj
@hpaulj謝謝。你是對的。 Numpy數組與列表不同。 –