Доступ к узлам и атрибутам networkx

У меня есть этот файл GraphML, который я прочитал в Networkx.

Итак, я получаю доступ ко всем узлам:

g.nodes()

Он дает мне список строк. Скажем, один из них "123". Затем я пытаюсь получить доступ к узлу как:

g["123"]

и это дает мне словарь.

Затем я пытаюсь получить доступ к узлам, используя функцию узлов следующим образом:

for n in g.nodes( data = True ):
    print n

Затем он дает мне 2-кортеж с именем узла строки в качестве первого элемента и словарем в качестве второго элемента.

Дело в том, что это другой словарь, отличный от первого. И это чертовски сбивает меня с толку, поэтому любая помощь здесь приветствуется.

Они должны быть разными? Если да, то почему? Если нет, то что я делаю не так? :) Я могу опубликовать фактические данные, если это поможет.


person starflyer    schedule 10.03.2012    source источник
comment
Этот вопрос решился? Если да, то можете ли вы принять ответ, чтобы отметить вопрос как решенный?   -  person MERose    schedule 24.01.2016


Ответы (1)


Рассматривали ли вы возможность прочитать различные страницы? из документации?

nlist : список

Список узлов. Если data=True, список из двух кортежей, содержащих (узел, словарь данных узла).

и...

adj_dict : словарь

Словарь смежности для узлов, подключенных к n.

«Словарь данных узла» и «смежный словарь» — это не одно и то же.

person Amber    schedule 10.03.2012
comment
Было бы полезно, если бы документы упростили поиск соответствующих битов для доступа к атрибутам узла. - person songololo; 14.10.2018