使用deepCopy在Python中创建独立对象

2024-05-28 23:13:28 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是我无法使用deepcopy()在newMegaNode中创建独立的megaNode副本。似乎即使在使用它之后,newMeganode和megaNode也被绑定在一起。我有没有做错什么?在输出中,所有内容都绑定到megaNoda,即使我专门使用deepcopy()将其内容复制到newMegaNode并添加到newList。在

   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))

Tags: innode内容for副本appendnewlistdeepcopy
1条回答
网友
1楼 · 发布于 2024-05-28 23:13:28

有时在Python2.x中,如果在类定义中没有从“object”继承,类行为会变得混乱。如果您是python version is 2.x,请确保类继承自“object”,如下所示:

class megaNode(object):
    ...

另请看一下this post

相关问题 更多 >

    热门问题