在Python中更改变量值而不显式更改它们

在Python中更改变量值而不显式更改它们,python,Python,我有以下代码: U_abs = abs(U) index_max = np.argmax(U_abs[k:n,k]) memory_1 = U[k:n,k] memory_2 = U[k:n,indice_max] print(memory_1) print(memory_2) U[k:n,k] = memory_2 U[k:n,indice_max]= memory_1 print(memory_1) p

我有以下代码:

    U_abs = abs(U)
    index_max = np.argmax(U_abs[k:n,k])
    memory_1 = U[k:n,k]    
    memory_2 = U[k:n,indice_max]
    print(memory_1)
    print(memory_2)
    U[k:n,k]  = memory_2
    U[k:n,indice_max]= memory_1
    print(memory_1)
    print(memory_2)

我需要
memory\U 1
memory\U 2
的值不要更改,但是当我更改
U[k:n,k]
U[k:n,index\U max]的值时,
memory\U 1
memory\U 2
的值会更改。这是我学习Python的第一天。你知道如何解决这个问题吗?

我假设你在这里所做的一切都是使用NumPy。如果是这样,可以使用“复制”操作符替换第3行和第4行:

memory_1 = U[k:n,k].copy()  
memory_2 = U[k:n,indice_max].copy()

更多的上下文和实际输出会有所帮助