我正在制作一个程序,其中我使用了6个全局集。在调用的各种函数中,我通过执行类似temp_set = set
的操作来临时备份这些集合。当我这样做时,我更改原始集时以某种方式修改了临时集。我假设Python正在将temp_set
设置为指向原始set
的指针。我怎么能阻止它这样做呢。快速反应将受到极大的赞赏。
答案 0 :(得分:3)
使用copy
模块创建浅/深拷贝。
更好的是,使用set.copy()
答案 1 :(得分:2)
不要使用全局变量。相反,将变量作为函数的输入。如果没有更多细节,建议就没那么多了。
现在你可以做到
import copy
temp_set = copy.copy(set)
但是,我建议不要使用它们并更改你的代码,这样你就不需要它们了(有一个很好的参考,为什么不在stackoverflow上的某个地方,但似乎无法找到它。请接受我的话)