将Set设置为全局集的内容

时间:2012-05-18 13:09:50

标签: python

我正在制作一个程序,其中我使用了6个全局集。在调用的各种函数中,我通过执行类似temp_set = set的操作来临时备份这些集合。当我这样做时,我更改原始集时以某种方式修改了临时集。我假设Python正在将temp_set设置为指向原始set的指针。我怎么能阻止它这样做呢。快速反应将受到极大的赞赏。

2 个答案:

答案 0 :(得分:3)

使用copy模块创建浅/深拷贝。

更好的是,使用set.copy()

答案 1 :(得分:2)

不要使用全局变量。相反,将变量作为函数的输入。如果没有更多细节,建议就没那么多了。

现在你可以做到

import copy
temp_set = copy.copy(set)

但是,我建议不要使用它们并更改你的代码,这样你就不需要它们了(有一个很好的参考,为什么不在stackoverflow上的某个地方,但似乎无法找到它。请接受我的话)