正在重新分配的数组(Python)

正在重新分配的数组(Python),python,pygame,Python,Pygame,我正在pygame中重新制作康威的生活游戏,我在实现预设功能时遇到了一个问题。当我将预设数组指定给默认数组,然后再次将其指定回默认数组时,预设会更改。我只是在编辑数组的初始帧,但它以某种方式更改了预设数组 代码: 您可能正在做这样的事情: a = [1 2 3 4 5] b = a b = a[:] a和b实际上是数组,而不是数组的引用。b=a表示它们都引用同一个数组 您需要复制数组,而不仅仅是复制引用,如下所示: a = [1 2 3 4 5] b = a b = a[:] a不是a而

我正在pygame中重新制作康威的生活游戏,我在实现预设功能时遇到了一个问题。当我将预设数组指定给默认数组,然后再次将其指定回默认数组时,预设会更改。我只是在编辑数组的初始帧,但它以某种方式更改了预设数组

代码:

您可能正在做这样的事情:

a = [1 2 3 4 5]
b = a
b = a[:]
a和b实际上是数组,而不是数组的引用。b=a表示它们都引用同一个数组

您需要复制数组,而不仅仅是复制引用,如下所示:

a = [1 2 3 4 5]
b = a
b = a[:]

a不是a而是a。我不能从问题文本中确定,但我认为您的初始框架数组是默认数组。Python将尽最大努力不复制数据结构。请阅读这篇文章了解更多详情。你可以这样做:inital_frame=preset_frame[:]并制作一个切片拷贝。谢谢这有帮助,但我不得不使用copy,因为它们很复杂。谢谢