Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any function that returns the out edges of a node?

I am using python with networkx package. I need to find the nodes connected to out edges of a given node. I know there is a function networkx.DiGraph.out_edges but it returns out edges for the entire graph.

like image 293
Bruce Avatar asked Feb 03 '10 12:02

Bruce


2 Answers

I'm not a networkx expert, but have you tried networkx.DiGraph.out_edges, specifying the source node?

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

Return a list of edges.

Edges are returned as tuples with optional data in the order (node, neighbor, data).

If you just want the out edges for a single node, pass that node in inside the nbunch:

graph.out_edges([my_node])
like image 173
Blair Conrad Avatar answered Sep 27 '22 21:09

Blair Conrad


The simplest way is to use the successors() method:

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]
like image 22
Aric Avatar answered Sep 27 '22 19:09

Aric