def make_Ab(A,b):
n = len(A)
Ab = list(A)
for index in range(0,n):
Ab[index].append(b[index][0])
print(A)
return Ab.copy()
A = [[0.0, 1.0, 1.0, 2.0], [1.0, 3.0, 1.0, 5.0], [2.0, 0.0, 2.0, 4.0]]
b = [[1],[2],[3]]
print(A)
[[0.0, 1.0, 1.0, 2.0], [1.0, 3.0, 1.0, 5.0], [2.0, 0.0, 2.0, 4.0]]
Ab = make_Ab(A,b)
print(A)
[[0.0, 1.0, 1.0, 2.0, 1], [1.0, 3.0, 1.0, 5.0, 2], [2.0, 0.0, 2.0, 4.0, 3]]
我不明白为什么我的函数会修改我的原始列表。我没有指定A
作为函数中的全局(我什至尝试在不同的函数中声明它,因此它不会是全局的),我没有通过引用传递它(例如Ab = A
)。有什么问题?