Python变量何时不应该改变

mar*_*x27 0 python-3.x

我正在处理的代码是更改我的临时变量,我无法弄清楚如何阻止它.基本上,这是问题所在:

def example(array):
    temp = array
    for i in range whatever:
        #change array
Run Code Online (Sandbox Code Playgroud)

我需要更改数组,但保持温度相同.

Sve*_*ach 5

这条线

temp = array
Run Code Online (Sandbox Code Playgroud)

不复制内容array- 它只是将另一个名称绑定到同一个对象.如何实际复制对象取决于对象的类型.对于NumPy阵列,您可以这样做

temp = array.copy()
Run Code Online (Sandbox Code Playgroud)

对于Python列表,您可以使用从Python 3.3开始的上述行; 在eariler版本中,您可以使用

temp = array[:]
Run Code Online (Sandbox Code Playgroud)

也有一般的复印功能copy()deepcopy()模块中copy.