В питоне networkX возможно ли добавить одно и то же имя узла с разными атрибутами? - PullRequest
0 голосов
/ 14 июня 2019

Я хочу один узел для того же номера узла.Скажем, к примеру:

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

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

Узел № 14 отличается на графике из-за разных атрибутов (разных меток).Но я хочу, чтобы 14 был одним узлом.Что мне делать?

Это помогает: В питоне networkX можно ли добавить то же самое с тем же идентификатором?

1 Ответ

0 голосов
/ 11 июля 2019

К сожалению, нет .

Если вы создаете экземпляр нового графа и добавляете узел с таким атрибутом, как:

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}

Таким образом, чтобы сохранить обоих Джонов на вашем графике, вам необходимо каким-то образом изменить их идентификаторы, возможно, используя их возраст с именем в качестве идентификатора, например 32_John и 27_Johnможет решить вашу проблему.Если вы добавите несколько узлов с одинаковым идентификатором, ваши атрибуты будут заменены только атрибутами последнего добавленного вами узла.

...