Получить все ребра, связанные с данным узлом в графике networkx
просто интересно, есть ли удобная функция networkx, которая возвращает список ребер, подключенных к данному узлу (или узлам) (например,my_node_name
) в графе (например,G
).
Я могу сделать это таким образом:
edlist=[]
for ed in G.edges():
if 'my_node_name' in ed:
edlist.append(ed)
но ожидать, что там может быть лучший способ?
2 ответов
если график неориентирован, вы можете использовать
G.edges(node)
если вы хотите использовать генератор, а не получать весь список, G.edges_iter(node)
строительство.
(редактировать: в networkx 2.0 G.edges_iter(node)
и G.edges(node)
теперь EdgeDataView
объект)
если график направлен, команда выше не даст ребер. Использовать
G.in_edges(node)
G.out_edges(node)
они также имеют параметры генератора:G.in_edges_iter(node)
и G.out_edges_iter(node)
(редактировать аналогично в 2.0 их больше не существует и in_edges
и out_edges
вид)
вы можете использовать метод edges
G.edges(['my_node_name'])
или edges
networkx.edges(G, ['my_node_name'])