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