如何在networkx中找到没有传出边缘的节点?

时间:2017-08-13 05:21:56

标签: python graph-theory networkx

我正在尝试在networkx中的有向图中找到没有传出边的节点。

有办法做到这一点吗?我找到了isolates,但是发现没有传入或传出边缘的边缘,我不想要它。

2 个答案:

答案 0 :(得分:4)

如果G是你的DiGraph,你可以通过

获得一个接收器的迭代器
(node for node, out_degree in G.out_degree_iter() if out_degree == 0)

答案 1 :(得分:1)

我遇到了 out_degree_iter() 问题,因为它返回错误。所以我在 NetworkX 文档上搜索了其他解决方案,发现这是有效的。 (GDiGraph

[node for node in G.nodes if G.out_degree(node) == 0]

注意,如果找到传入的度数或边。您只需将 out_degree 更改为 in_degree

参考:networkx.DiGraph.out_degree