我有一些代码可以对类进行一些操作。细节并不十分重要。 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>
是什么给出的?
答案 0 :(得分:2)
我怀疑以下内容会解决它:
headerDict[node1.header].append(node)
^^^^^^^
因为您在其他任何地方使用.header
来索引headerDict
。