我正在制作一个使用 6 个全局集的程序。在被调用的各种函数中,我通过执行类似temp_set = set
. 当我这样做时,当我更改原始集时,临时集会以某种方式被修改。我假设 Python 在此处设置temp_set
为指向原始指针的指针set
。我怎样才能防止它这样做。快速反应将不胜感激。
问问题
57 次
2 回答
3
使用该copy
模块创建浅/深副本。
更好的是,使用set.copy()
于 2012-05-18T13:13:01.363 回答
2
不要使用全局变量。相反,将变量作为函数的输入。没有更多的细节,没有更多的建议。
现在你可以做
import copy
temp_set = copy.copy(set)
但是,我建议不要使用它们并更改您的代码,这样您就不需要它们(有一个很好的参考说明为什么不在 stackoverflow 的某个地方,但似乎找不到它。相信我的话)
于 2012-05-18T13:10:39.137 回答