你在看
G[0]。但这不是您想要的。
G[0]包含有关节点的邻居
0和边的属性的信息,但不包含有关节点的属性的信息
0。
class point(): def __init__(self, x, y): self.x = x self.y = yimport networkx as nxG = nx.Graph()p0 = point(0,0)p1 = point(1,1)G.add_node(0, data=p0)G.add_node(1, data=p1)G.add_edge(0,1, weight=4)G[0]> AtlasView({1: {'weight': 4}}) #in networkx 1.x this is actually a dict. In 2.x it is an "AtlasView"对于networkx,期望一个节点可能有很多与其关联的数据。在您的情况下,您只有一条数据,即该点。但是您可能还已经指定了颜色,权重,时间,年龄等。因此,networkx将所有属性存储在另一个字典中,但是该字典是通过
G.node[0]而不是通过访问的
G[0]。
G.node[0]> {'data': <__main__.point at 0x11056da20>}G.node[0]['data'].x> 0请注意,
data您输入的内容将成为字符串
'data'。
输入像这样的节点可能会更好
G.add_node(0, x=0, y=0),然后您可以按那样访问条目
G.node[0]['x']。



