gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:02:00 25 4
gpt4 key购买 nike

我有一个 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 中。由于 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}

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

关于python - 向图中添加新节点是否会更改旧节点的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com