Get all edges linked to a given node in a networkx graph

后端 未结 2 721
清酒与你
清酒与你 2021-01-01 10:22

Just wondering if there is convenient networkx function that returns a list of edges connected to a given node (or nodes) (e.g. my_node_name) in a graph (e.g. <

相关标签:
2条回答
  • 2021-01-01 11:15

    If the graph is undirected, you can use

    G.edges(node)
    

    In networkx 2.x this is an EdgeDataView object. In networkx 1.x this is a list - if you want a generator in 1.x rather than getting the whole list, G.edges_iter(node) works (this no longer exists in 2.x).

    If the graph is directed the command above will not give the in-edges. Use

    G.in_edges(node)
    G.out_edges(node) 
    

    These are views in 2.x. In 1.x these are lists and there are generator options: G.in_edges_iter(node) and G.out_edges_iter(node)

    0 讨论(0)
  • 2021-01-01 11:29

    You can use the method edges on a node for an un-directed graph:

    G.edges(['my_node_name'])
    

    or the function edges

    networkx.edges(G, ['my_node_name'])
    

    But for directed graphs the above method will only give the out-edges; there you need to call and combine both in_edges() and out_edges().

    0 讨论(0)
提交回复
热议问题