函数调用后,Python修改原始变量

时间:2019-09-22 07:42:28

标签: python list sorting variables

我想知道是否有人可以解释为什么Python在将原始变量分配给另一个变量然后将第二个变量传递给函数调用后修改了原始变量: 考虑以下示例代码: 假设A是原始变量:

A=np.array(([1,20,30,40,10,5,60]))
B=A

B.sort()
print(A)
print(B)

两者的输出相同:

[ 1  5 10 20 30 40 60] 
[ 1  5 10 20 30 40 60]

A是原始变量,我为其分配了B,然后对B进行了排序,那么为什么对A和B都进行了排序?如果我只想对B进行排序并将其与A进行比较怎么办

1 个答案:

答案 0 :(得分:1)

如果您说B = A,其中A是一个数组,那么Python只是将新指针指向A 你可以做

A = B[:]

要复制数组