Python 如何访问NetworkX中节点的第一个邻居?

Python 如何访问NetworkX中节点的第一个邻居?,python,networkx,Python,Networkx,我在NetworkX中创建了一个TestClass对象图。我有两个TestClass对象obj1和obj2,我想连接它们的第一个邻居 代码 first_node=[G.nodes()中节点的节点(如果节点==obj1][0] 第二个_节点=[G.nodes()中节点的节点,如果节点==obj2][0] G.添加_边(第一个_节点.邻居[0],第二个_节点.邻居[0]) 我收到一条错误消息,即TestClass对象没有属性邻居 如何将这两个对象作为图中的节点来访问,以便与相邻节点一起工作?使用方

我在NetworkX中创建了一个
TestClass
对象图。我有两个
TestClass
对象
obj1
obj2
,我想连接它们的第一个邻居

代码
first_node=[G.nodes()中节点的节点(如果节点==obj1][0]
第二个_节点=[G.nodes()中节点的节点,如果节点==obj2][0]
G.添加_边(第一个_节点.邻居[0],第二个_节点.邻居[0])
我收到一条错误消息,即
TestClass
对象没有属性
邻居


如何将这两个对象作为图中的节点来访问,以便与相邻节点一起工作?

使用方法访问相邻对象,其中
n
是一个节点

由于
G.neights
在相邻节点上返回迭代器,要使用列表访问器,首先需要将迭代器包装在
list
初始值设定项中

G.add_edge(list(G.neighbors(first_node))[0], list(G.neighbors(second_node))[0])
一种更简洁的方法是在迭代器上调用
next()
,这样可以避免创建新的列表对象并消除索引访问器

G.add_edge(next(G.neighbors(first_node)), next(G.neighbors(second_node)))

G.neights(第一个节点)
可能是您要找的吗?看:是的,你说得对。我忘记了以这种方式访问节点:\