如何按值而不是按引用传递 python 中的二维数组?
How to pass 2d array in python by value and not by reference?
我有一个二维数组,需要不断更新并分配给不同的变量,但更新必须从初始数组开始。由于列表是通过引用而不是值传递的,因此常规赋值不起作用。我试过:
清单 1 = 清单 2[:]
它适用于一维数组但不适用于二维数组。
有没有人遇到过这种情况?
Python 浅拷贝和深拷贝
正如你所说,这种赋值是通过引用完成的,而不是通过值完成的。为了按值分配可变数据类型,如列表、numpy 数组等,您必须使用 Python Copy Module。本模块为您提供两种浅拷贝和深拷贝方法,您应该根据要拷贝的数据类型选择其中一种。如果你要复制的对象包含其他对象,如列表,类 和......本身,你应该使用深复制方法,否则,应该使用浅复制(在上述问题中,它似乎是浅复制就是你要找的)。
我有一个二维数组,需要不断更新并分配给不同的变量,但更新必须从初始数组开始。由于列表是通过引用而不是值传递的,因此常规赋值不起作用。我试过: 清单 1 = 清单 2[:] 它适用于一维数组但不适用于二维数组。
有没有人遇到过这种情况?
Python 浅拷贝和深拷贝
正如你所说,这种赋值是通过引用完成的,而不是通过值完成的。为了按值分配可变数据类型,如列表、numpy 数组等,您必须使用 Python Copy Module。本模块为您提供两种浅拷贝和深拷贝方法,您应该根据要拷贝的数据类型选择其中一种。如果你要复制的对象包含其他对象,如列表,类 和......本身,你应该使用深复制方法,否则,应该使用浅复制(在上述问题中,它似乎是浅复制就是你要找的)。