tags:

views:

46

answers:

2

I need the edge end points from a graph. I have installed networkx. I have some idea how to proceed.

networkx.Graph.edges_iter() returns all the edges in the graph

[e for e in G.edges_iter()]
[(0, 1), (1, 2), (2, 3)]

What I want is a list [0,1,1,2,2,3]

How do I get this from the above data?

+2  A: 
>>> import itertools
>>> list(itertools.chain(*[(0, 1), (1, 2), (2, 3)]))
[0, 1, 1, 2, 2, 3]

You may not need list(...) because its already iterable.

And you may also try itertools.chain(G.edges_iter()) directly

S.Mark
+1  A: 
edgeList = []
for (a,b) in G.edges_iter():
    edgeList.append(a)
    edgeList.append(b)
Nick_V