Изменение значений переменных в 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)
    print(memory_2)
  

Мне нужно, чтобы значения memory_1 и memory_2 не менялись, но когда я меняю значения U[k:n,k] и U[k:n,index_max] , значения memory_1 и memory_2 меняются. Это мой первый день в Python. Есть идеи, как это исправить?

Комментарии:

1. Еще немного контекста и фактический результат этого помогли бы

Ответ №1:

Я предполагаю, что все, что вы здесь делаете, использует NumPy. Если это так, вы можете заменить строки 3 и 4 оператором копирования:

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