首页 > 解决方案 > 全局变量被局部变量修改?

问题描述

我在 python 3.7.9 上。

-我需要将列表中的一些项目复制到另一个列表中。

- 然后我需要在更改原始列表的情况下对我的新列表进行计算。

但是,无论我做什么,我的原始列表都会经历与我的新列表相同的修改。

有人可以解释一下为什么吗?

感谢您的回复

调试模式: 在此处输入图像描述

标签: pythonlistvariablesdel

解决方案


这种现象在python中被称为浅拷贝。

基本上,

 reduite=mat[1:]

正在引用 mat 的内部对象(又是数组),因此修改副本数组反映在原始对象上。

使用deepcopy来解决这个问题。


推荐阅读