2010-01-28 113 views
2

我需要圖形中的邊緣端點。我已經安裝了networkx。我有一些想法如何繼續。Python:獲取圖形的邊緣端點

networkx.Graph.edges_iter()返回在圖中的所有邊

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

我要的是一個列表[0,1,1,2,2,3]

怎麼辦我從上面的數據得到這個?

回答

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

您可能不需要list(...),因爲它已經可以迭代。

而且你也可以嘗試itertools.chain(G.edges_iter())直接

1
edgeList = [] 
for (a,b) in G.edges_iter(): 
    edgeList.append(a) 
    edgeList.append(b)