在networkX python中,是否可以添加具有不同属性的相同节点名称?

时间:2019-06-14 00:27:15

标签: python-2.7 graph networkx digraphs

我希望一个节点具有相同的节点号。例如说:

G.add_node(14 , label = 'name1' )

G.add_edges_from ([( "If[0]" , 14 )], label='Y')

由于不同的属性(不同的标签),节点号14在生成的图中有所不同。但我希望14成为一个节点。我该怎么办?

这可以帮助:In networkX python , is it possible to add the same with same ID ?

1 个答案:

答案 0 :(得分:0)

很遗憾,

如果实例化一个新图并添加具有某些属性的节点,如:

A = nx.Graph()
A.add_node('John', age=27)

然后运行A.nodes['John'],您将得到结果:

{'age': 27}

现在让我们假设您还有另一个约翰,年龄为32岁。如果将其添加到图形中,它将替换旧属性:

A.add_node('John', age=32)
A.nodes['John']

将导致:

{'age': 32}

因此,要将两个John都保留在图形中,您将需要以某种方式更改其ID,也许使用其年龄作为ID作为名称,例如32_John27_John可能会解决您的问题。 如果您添加具有相同ID的多个节点,则只会将您的属性替换为最后添加的节点的属性。