Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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 - Fatal编程技术网

Python 洗牌列表的副本

Python 洗牌列表的副本,python,Python,似乎列表的副本也被洗牌了 因此,如果我对两个列表执行以下操作: data = examples np.random.shuffle(examples) 那么列表数据也被洗牌了吗?为什么?您必须执行examples=因为否则这两个变量将引用内存中相同的位置,这意味着它们都会更改。Python不会在认为不需要对象时创建对象的副本 在您的情况下,您可以使用内置模块: 导入副本 data=copy.deepcopy(示例) np.random.shuffle(示例) 这是因为python在引擎盖下使用

似乎列表的副本也被洗牌了

因此,如果我对两个列表执行以下操作:

data = examples
np.random.shuffle(examples)

那么列表数据也被洗牌了吗?为什么?

您必须执行examples=因为否则这两个变量将引用内存中相同的位置,这意味着它们都会更改。

Python不会在认为不需要对象时创建对象的副本

在您的情况下,您可以使用内置模块:

导入副本
data=copy.deepcopy(示例)
np.random.shuffle(示例)

这是因为python在引擎盖下使用对列表的引用。这在内存使用方面更有效。这不是一个副本,而是一个别名。那么,我什么时候知道我是否使用“=”进行赋值,python不使用任何对象作为别名?!python中的所有对象都是这样吗?我想要两个独立的对象我必须使用copy()或deepcopy()?