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()?