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

Jas*_*n S 6 python graph-theory networkx

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

有没有办法做到这一点?我找到了隔离,但找到了没有传入或传出边缘的边缘,我不想要那样。

fug*_*ede 6

如果G是你的DiGraph,你可以通过接收器获得一个迭代器

(node for node, out_degree in G.out_degree_iter() if out_degree == 0)
Run Code Online (Sandbox Code Playgroud)


Chr*_*efe 5

“返回迭代器的方法已被删除

在 NetworkX 2.x 中,所以 @fuglede 的答案需要进行小幅更新:

(node for node, out_degree in G.out_degree() if out_degree == 0)
Run Code Online (Sandbox Code Playgroud)

2.x 中的.out_ Degree提供的视图/报告 API提供了成对的 OutDegreeView (node, out_degree),使得这种方法比 @Fony Lew 的稍微简单一些。