Python 将类对象追加到列表

Python 将类对象追加到列表,python,oop,Python,Oop,我有一些对类进行操作的代码。细节并不十分重要。headerDict是一个字典,包含类NodeCluster中的对象列表。Node1和Node2是类NodeCluster中的对象。header是NodeCluster类的一个属性。我想做的是迭代headerDict的node2条目中的类对象,更改它们的头属性,然后——这里是问题所在——将每个类对象附加到node1的headerDict中的列表中。下面是一段代码片段: if len(headerDict[node1.header]) >= le

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

一个猜测,因为我无法完全描绘您的数据,但可能是
headerDict[node1.header]。将(节点)
附加为最后一行。