Python: получение конечных точек ребра графа - PullRequest
2 голосов
/ 28 января 2010

Мне нужны конечные точки ребер на графике. Я установил networkx. У меня есть идея, как поступить.

networkx.Graph.edges_iter () возвращает все ребра графа

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

То, что я хочу, это список [0,1,1,2,2,3]

Как я могу получить это из приведенных выше данных?

Ответы [ 2 ]

2 голосов
/ 28 января 2010
>>> import itertools
>>> list(itertools.chain(*[(0, 1), (1, 2), (2, 3)]))
[0, 1, 1, 2, 2, 3]

Возможно, вам не понадобится list(...), потому что он уже повторяется.

И вы также можете попробовать itertools.chain(G.edges_iter()) напрямую

1 голос
/ 28 января 2010
edgeList = []
for (a,b) in G.edges_iter():
    edgeList.append(a)
    edgeList.append(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...