簡體   English   中英

將 numpy.array 傳遞到 function 但值未更改

[英]pass numpy.array into a function but value not changed

我嘗試將np.array傳遞給python function,但是在我調用這個function之后值沒有改變,有什么辦法在我調用它之后改變它? (在我調用它之后,a0 仍然是 [1 2 3])


import numpy as np

def test(a0):
    a0=np.array([4,5,6])

def main():
    a0=np.array([1,2,3])
    test(a0)
    print(a0)

if __name__ == "__main__":
    main()

通過=重新分配變量不會更改變量指向的 object。 您只是丟棄了對 object 的引用。

要更改a0 ,只需通過重新分配變量以外的其他方式對其進行修改。 例如,如果這是您的test function:

def test(a0):
    a0[0]=4

那么 output 將是[4,2,3]而不是[1,2,3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM