1

我正在制作一个使用 6 个全局集的程序。在被调用的各种函数中,我通过执行类似temp_set = set. 当我这样做时,当我更改原始集时,临时集会以某种方式被修改。我假设 Python 在此处设置temp_set为指向原始指针的指针set。我怎样才能防止它这样做。快速反应将不胜感激。

4

2 回答 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 回答