我有一些代码可以对类进行一些操作。详细信息并不十分重要。 headerDict是一个字典,其中包含NodeCluster类中的对象列表。 Node1和Node2是来自NodeCluster类的对象。 .header是NodeCluster类的属性。我想做的是遍历headerDict的node2条目中的类对象,更改其标题属性,并且-这是问题部分-将每个类对象附加到node1的headerDict中的列表。这是一个代码片段:

if len(headerDict[node1.header]) >= len(headerDict[node2.header]):
        for node in headerDict[node2.header]:
            node.k = node.k - 1
            node.header = node1.header
            headerDict[node1].append(node)


但是,当我尝试执行追加操作时,出现此错误:

KeyError: <__main__.NodeCluster instance at 0x10047b050>


是什么赋予了?

最佳答案

我怀疑可以解决以下问题:

        headerDict[node1.header].append(node)
                        ^^^^^^^


因为您在其他任何地方都使用.header来索引headerDict

10-08 00:40