有没有可以返回节点出边的函数?

5 投票
2 回答
4128 浏览
提问于 2025-04-15 18:49

我正在使用Python和networkx这个库。我需要找到与某个节点的输出边相连的节点。虽然我知道有一个叫networkx.DiGraph.out_edges的函数,但它返回的是整个图的输出边,而不是我想要的特定节点的。

2 个回答

6

最简单的方法是使用 successors() 方法:

In [1]: import networkx as nx

In [2]: G=nx.DiGraph([(0,1),(1,2)])

In [3]: G.edges()
Out[3]: [(0, 1), (1, 2)]

In [4]: G.successors(1)
Out[4]: [2]
6

我不是networkx的专家,但你有没有试过 networkx.DiGraph.out_edges,并指定源节点呢?

DiGraph.out_edges(nbunch=None, data=False)

这个方法会返回一组边的列表。

边会以元组的形式返回,元组中可以包含可选的数据,顺序是(节点,邻居,数据)。

如果你只想要某个节点的出边,可以把那个节点放在nbunch里面传进去:

graph.out_edges([my_node])

撰写回答