问题是我无法使用deepcopy()创建megaNode的独立副本到newMegaNode。即使在使用它之后,newMeganode和megaNode也会绑定在一起。我在这做错了吗?在输出中,即使我专门使用deepcopy()将其内容复制到newMegaNode并添加到newList中,一切都被绑定到megaNoda。
def newAlgo():
global nodeQueue
initalNode = AnswersAlgo();
scratchList = []
scratchList.append(initalNode)
newList = []
for node in nodeQueue:
for megaNode in scratchList:
if validation(node,megaNode):
newMegaNode = copy.deepcopy(megaNode) #Unable to create independent object
newList.append([node,newMegaNode])
for x,y in newList:
scratchList.append(y.addToList(x))
答案 0 :(得分:0)
有时在python 2.x中,如果你没有从类定义中的“object”继承,那么类行为会让人感到困惑。如果你的python版本是2.x,请确保你的类继承自“object”,如下所示:
class megaNode(object):
...
另请查看this post