我正在处理的代码正在更改我的临时变量,我不知道如何停止它。本质上,这就是问题所在:
def example(array):
temp = array
for i in range whatever:
#change array
我需要更改数组,但保持温度不变。
我正在处理的代码正在更改我的临时变量,我不知道如何停止它。本质上,这就是问题所在:
def example(array):
temp = array
for i in range whatever:
#change array
我需要更改数组,但保持温度不变。
线
temp = array
不复制的内容array
——它只是将另一个名称绑定到同一个对象。如何实际复制对象取决于对象的类型。对于 NumPy 数组,您可以执行
temp = array.copy()
对于 Python 列表,您可以使用从 Python 3.3 开始的上述行;在早期版本中,您可以使用
temp = array[:]
也有通用的复制功能copy()
和deepcopy()
模块copy
。
temp = array
仅表示这temp
是array
变量内容的另一个名称。
一般来说,如果你想要一个副本,你可以使用该copy
模块并执行以下操作:
import copy
temp = copy.copy(arr) # or copy.deepcopy(arr), depending on the situation