探索NumPy 中的賦值方法:何時發生記憶體分配
使用NumPy 陣列時,了解不同的賦值方法對於高效進行至關重要以及正確的資料處理。在這裡,我們研究了三種常見的方法:B = A、B[:] = A 和 numpy.copy(B, A),突出顯示它們各自的行為。
方法 1:B = A
此賦值將新變數名稱 B 綁定到 A 引用的現有陣列物件。請注意,這不會建立新數組,而是為原始物件建立別名。因此,對 B 或 A 所做的任何修改都會反映在這兩個變數中。
方法2:B[:] = A(且B[:]=A[:])
此分配主動將陣列A 中的值複製到現有數組B 中。此複製過程要求兩個陣列共享相同的形狀才能成功。需要注意的是,使用 B[:] = A[:] 執行相同的操作。
方法3:numpy.copy(B, A)
這個其給定形式的語法不正確,最有可能是B = numpy.copy(A )。此方法產生一個新的數組對象,其中包含從 A 到 B 的值的副本。與先前的方法不同,它會建立一個不同的數組,而不是修改現有數組。這意味著對 B 所做的任何更改都不會直接影響 A。
以上是哪一種 NumPy 賦值方法會呼叫記憶體分配?的詳細內容。更多資訊請關注PHP中文網其他相關文章!