2
我很困惑,爲什麼以下兩個print(an_array)
陳述給出了兩個不同的結果。蟒蛇np.array值變化
雖然b_slice
期間 分配被明確定義爲np.array
,既a_slice
和b_slice
是使用type
command.Yet a-slice
將改變的an_array
而b_slice
不會值的相同類型的。如果有人能指出我的解釋,我將不勝感激。
an_array = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
a_slice = an_array[:2, 1:3]
print(type(a_slice)) # <class 'numpy.ndarray'>
print(type(b_slice)) # <class 'numpy.ndarray'>
b_slice = np.array(an_array[:2, 1:3]
b_slice[0,0] = 2000
print(an_array) # returns no change to an_array
[[1 2 3 4]
[5 6 7 8]
[9 10 11 12]]
a_slice[0,0] = 2000
print(an_array) # shows the change from the number 2 to the number 2000
[[1 2000 3 4]
[5 6 7 8]
[9 10 11 12]
'np.array'採用'copy'參數,默認爲'True'。 – hpaulj
@hpaulj好點。我會將這些信息添加到問題中。 –
感謝您的回覆。我現在知道了。你一直在幫助很大。 – Mark