我有一些代码可以对类进行一些操作。详细信息并不十分重要。 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
。