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