1

我有一些代码可以对类进行一些操作。细节不是很重要。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>

是什么赋予了?

4

1 回答 1

2

我怀疑以下将解决它:

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

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

于 2012-12-20T17:21:44.220 回答