Python 向图中添加新节点是否会更改旧节点的索引?

Python 向图中添加新节点是否会更改旧节点的索引?,python,networkx,Python,Networkx,我有一个networkx图形对象G。每个节点都有一个关于G.nodes()的索引。我跟踪节点索引,因为我使用邻接矩阵进行了一些计算,因为邻接矩阵中的每一行索引对应于G.nodes()中的节点索引。但是现在我想向图中添加新节点,这会改变旧节点的索引吗 我没有删除任何节点 G = nx.Graph() #add some nodes to G. #record the indices of those nodes in a dictionary that maps from a node nam

我有一个
networkx
图形对象
G
。每个节点都有一个关于
G.nodes()
的索引。我跟踪节点索引,因为我使用邻接矩阵进行了一些计算,因为邻接矩阵中的每一行索引对应于
G.nodes()
中的节点索引。但是现在我想向图中添加新节点,这会改变旧节点的索引吗

我没有删除任何节点

G = nx.Graph()

#add some nodes to G.

#record the indices of those nodes in a dictionary that maps from a node name to a node index from the list G.nodes()

#add more nodes and edges to G.

#Did the indices of the old nodes change?

NetworkX将图形节点存储在类
graph
的属性
node
中。由于
节点
是一个字典,因此不能保证顺序,并且可能会更改

如果你能提供更多关于你正在努力实现的目标的细节,我们可以为你提供更多帮助。您可以尝试保持从节点到名称的字典映射,或者如果您只需要节点名称,也可以直接为节点分配名称:

G.add_node('John')
G.add_node('Jane')
还可以使用节点属性,例如

G.add_node(0, name='John', age=24)
G.add_node(1, name='Jane', age=27)
然后把它们读作

G.node[0]
>>> {'name': 'John', 'age': 24}

您还可以使用任意对象作为图形节点。

您能发布更多代码,以便我们更清楚地了解您的要求吗?