是否可以对networkx节点使用字典分配?

2024-10-01 04:48:03 发布

您现在位置:Python中文网/ 问答频道 /正文

热释光;DR:我可以对networkx节点执行类似G.nodes[nodeName] = dict(persistentFields)的操作吗?如果我这样用的话

'NodeView' object does not support item assignment

我有一个networkx图,我用它来模拟不同的连续事件。节点列表应保持不变(即,不删除任何新节点,也不删除任何现有节点),但其属性随每个事件而更改。现在,当我移到下一个事件时,我调用set_node_attributes(D),其中D是由节点(包含与特定事件相关的数据)键入的字典

该图通常总共有100个节点,但是对于每个事件,我有大约20-30个节点的数据。在所有节点的所有事件中,我需要保留一些属性。现在,当我为一个新事件设置新的属性时,可能会发生这样的情况:我有未包含在D中的节点的剩余数据。我想清除这些数据,但保留持久字段。有比这更好的方法吗

for nodeName in G.nodes():
   G.nodes[nodeName].clear() 
   G.nodes[nodeName].update(persistentFields)

接着是对set_node_attributes(D)的调用


Tags: 数据networkxnode属性节点事件dictattributes