2010-01-28 2 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) 
Смежные вопросы