2015-10-12 38 views
6

想知道是否有方便的networkx函數返回連接到給定節點(或節點)的邊的列表(例如my_node_name)(如G)。獲取鏈接到網絡x圖中給定節點的所有邊

我能做到這樣:

edlist=[] 
for ed in G.edges(): 
    if 'my_node_name' in ed: 
      edlist.append(ed) 

但想到有可能是一個更好的辦法?

回答

7

您可以使用該方法edges

G.edges(['my_node_name']) 

或功能edges

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

警告 - 如果該圖是定向的,這樣只會給出邊緣。 – Joel

9

如果是無向圖,你可以使用

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_edgesout_edges是視圖)

相關問題