TL; DR:我可以对networkx节点执行类似G.nodes[nodeName] = dict(persistentFields)
的操作吗?如果这样使用,我会得到
'NodeView'对象不支持项目分配
我有一个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)
的呼叫吗?