[英]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.