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中繼承可讀性?
我的問題是,一個的擴展: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中繼承可讀性?
我得到:
>>> 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?
確實,更新numpy解決了這個問題! – cpa
當我運行該代碼時,'b'也是不可寫的,並且比較按預期工作。你總是可以嘗試'np.equal'。 –