NetworkX: как выбрать подграф на основе набора индексов ребер? - PullRequest
0 голосов
/ 05 августа 2020

Для:

G = nx.petersen_graph()   # Example only, it could be any graph
E = G.edges()

while many_many_loops:
    edge_set = my_function(...)  # Returns a set, say { 3, 9, 4 }
    T = G.edge_subgraph( ... )   # Contains only edges 3, 4, and 9.

Как мне эффективно создавать соответствующие аргументы для edge_subgraph(), учитывая, что E не индексируется?

(Я могу придумать много неудобных способов, но моих знаний о python и NetworkX достаточно, чтобы заставить меня думать, что должен быть простым и элегантным способом, но недостаточно, чтобы знать, что это .)

1 Ответ

0 голосов
/ 06 августа 2020

Да, это просто (и, конечно, со всей очевидностью):

E = list(G.edges())

T = G.edge_subgraph(E[e] for e in edge_set)

Функция list() преобразует E в список, который можно проиндексировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...