2012-06-25 44 views
1

我的問題是,一個的擴展:Immutable numpy array?不變numpy的陣列

此代碼打印假,因爲即使a是不可改變的,b不是。

a = np.arange(10) 
a.setflags(write=False) 
b = a[1:] 
b[1] = -1 
print a == np.arange(10) 

這破壞了只讀陣列的目的。有沒有辦法在numpy中繼承可讀性?

+3

當我運行該代碼時,'b'也是不可寫的,並且比較按預期工作。你總是可以嘗試'np.equal'。 –

回答

5

我得到:

>>> b[1] = -1 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
RuntimeError: array is not writeable 

這是numpy的1.6.0(Python的2.6.2)。可能這是一個已修復的錯誤,或者是一種迴歸 - 您使用的是哪種版本的numpy?

+1

確實,更新numpy解決了這個問題! – cpa