在Python 3.x中,我正在處理大型的numpy數組。我希望得到確認(不必實際做某種實驗)我寫的方法要麼使用數組的副本,要麼使用對數組的直接引用。如何驗證在Python中創建副本的時間?
我還想確認有問題的數組是否已被修改。在C++中,如果我想確保一個對象沒有被修改,我可以把它作爲一個const來傳遞......在Python中,我似乎沒有這樣的保證,必須格外小心。
因此,總結一下:我需要一種方法來判斷副本是否已經生成了一個numpy數組。我需要一種方法來判斷一個數組(或任何對象)是否已被修改。我更喜歡快速,自動的方式,而不是做一個實驗。
兩個[(幼稚使用)'.base'](http://stackoverflow.com/questions/11286864/is-there-a-way-to-check-if-numpy-arrays-share -the-same-data#comment14852955_11286976)和['.flags ['OWNDATA']'](http://stackoverflow.com/q/28886731/190597)可能會導致錯誤的結論。 [根據NumPy開發者Robert Kern](http://stackoverflow.com/a/10752605/190597),我們目前最好的是'np.may_share_memory'。 – unutbu 2015-04-02 12:39:58