Получить все ребра, связанные с данным узлом в графике 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'])