【发布时间】:2019-05-05 10:21:23
【问题描述】:
您好,我似乎对在 Python 中通过引用传递对象的理解存在问题。我理解示例 1 的输出,但示例 2 不应该以类似的方式表现并且不更改 A 矩阵吗?
示例 1:
def reassign(list):
list = [0, 1, 2]
list = [3]
reassign(list)
print(list)
Returns: [3]
示例 2:
import numpy as np
A = np.ones((4,4))
def xyz(A):
for i in range(4):
A[i,i] = 0
return None
x = xyz(A)
print(A)
# Returns
[[0. 1. 1. 1.]
[1. 0. 1. 1.]
[1. 1. 0. 1.]
[1. 1. 1. 0.]]
【问题讨论】:
标签: python arrays function object pass-by-reference