не могу получить доступ к атрибутам узла - PullRequest
0 голосов
/ 23 марта 2019

g.nodes (), кажется, отображает атрибуты, но в противном случае я не могу получить к ним доступ.Что я делаю не так?

g = nx.Graph()

g.add_node('a', attr_dict={'k1':5})

g.nodes(data=True)
 [('a', {'k1': 5})]

g['a']
{}

g['a'].keys()
 []

g['a']['k1']

  KeyError     Traceback (most recent call last)
 <ipython-input-62-03c0859d74e1> in <module>()
 ----> 1 g['a']['k1']

 KeyError: 'k1'

ver: 1.11


повышен до ver: 2.2

g = nx.Graph()
g.add_node('b', attr_dict={'k1':5})

g['b']
AtlasView({})

g.nodes['b']
{'attr_dict': {'k1': 5}}

1 Ответ

0 голосов
/ 23 марта 2019

Для networkx 2.1 или 2.2 вы можете получить доступ к данным, относящимся к конкретному узлу, вы должны использовать узлы атрибута графа. Э.Г.

g = nx.Graph()

g.add_node('a', attr_dict={'k1':5})

g.nodes(data=True)

print(g.nodes['a'])
...