只是想知道是否有方便的networkx函数返回连接到图形中给定节点(或多个节点)(例如my_node_name
)的边缘列表(例如G
)。
我可以这样做:
edlist=[]
for ed in G.edges():
if 'my_node_name' in ed:
edlist.append(ed)
但是期待可能有更好的方法吗?
答案 0 :(得分:26)
如果图表是无向的,您可以使用
G.edges(node)
在 networkx 2.x 中,这是一个EdgeDataView
对象。在 networkx 1.x 中,这是一个列表 - 如果您想要1.x中的生成器而不是获取整个列表,G.edges_iter(node)
可以工作(2.x中不再存在)。
如果指示图形,则上面的命令不会给出边缘。使用
G.in_edges(node)
G.out_edges(node)
这些是2.x中的观点。在1.x中,这些是列表,并且有生成器选项:G.in_edges_iter(node)
和G.out_edges_iter(node)
答案 1 :(得分:9)