Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数组取消编辑为创建时的状态_Python_Arrays_Restore - Fatal编程技术网

Python 将数组取消编辑为创建时的状态

Python 将数组取消编辑为创建时的状态,python,arrays,restore,Python,Arrays,Restore,我有一个二维数组,在我的程序中的某些点进行编辑。当我到达程序中的某个点时,我希望“取消编辑”数组,使其与创建数组时的状态相同。 e、 g 现在我的数组看起来像 [[0, 0, 0, 0], [0, 0, 0, 0]] 然后发生一个事件,导致我想将数组更改回其原始状态。我可以在程序开始时创建myArray的一个副本并加载它,但这是非常不现实的,因为我有几十个类似的数组,它们需要以相同的方式运行,我可能需要多次取消编辑数组,这意味着我将有数百个副本。我不知道如何切实做到这一点。我会采取一种写拷贝

我有一个二维数组,在我的程序中的某些点进行编辑。当我到达程序中的某个点时,我希望“取消编辑”数组,使其与创建数组时的状态相同。 e、 g

现在我的数组看起来像

[[0, 0, 0, 0],
 [0, 0, 0, 0]]

然后发生一个事件,导致我想将数组更改回其原始状态。我可以在程序开始时创建myArray的一个副本并加载它,但这是非常不现实的,因为我有几十个类似的数组,它们需要以相同的方式运行,我可能需要多次取消编辑数组,这意味着我将有数百个副本。我不知道如何切实做到这一点。

我会采取一种写拷贝的方法:

重置将指向原始数组,该数组是所有对象的单个实例。 编辑阵列将从原始阵列创建副本。那么修改它不会影响原始实例。 原始=[[0,0,0,0],[0,2,0,2]] def editmy_阵列: 如果idmy_数组==idoriginal: my_数组=original.copy ... 编辑数组 def重置我的_阵列: my_数组=原始
其中my_array是可编辑的实际工作副本,用户之间存在差异。

您有两个选项:保存原始状态,或保存所有修改的可逆日志。保存原始状态可能是更容易的选择。
[[0, 0, 0, 0],
 [0, 0, 0, 0]]