2015-10-12 14 views
6

Bir grafikte belirli bir düğüme (veya düğümlere) (ör. my_node_name) bağlı kenarların listesini döndüren kullanışlı bir ağ işlevi olup olmadığını merak ediyorum (ör. G).Bir ağx grafiğinde belirli bir düğüme bağlı tüm kenarları alın

ben bu şekilde yapabilirsiniz:

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

ancak daha iyi bir yolu olabilir mi bekliyorsun? grafiği yönsüz ise bir kullanmak istiyorsanız,

G.edges(node) 

kullanabilirsiniz

cevap

7

yöntemden edges

G.edges(['my_node_name']) 

veya işlevi edges

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

Uyarı: Bu da sahip jeneratör seçenekleri

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

kullanın dış kenarlar. – Joel

9

kullanabilirsiniz tüm listeyi almak yerine jeneratör, G.edges_iter(node) çalışır. (düzenlemek: networkx 2.0 G.edges_iter(node) kaldırılmıştır ve G.edges(node) artık EdgeDataView amacı) grafiği içinde kenarları vermeyecektir yukarıdaki komutu yönelik ise

. grafiği yönlendirildiği takdirde, bu sadece verecek - G.in_edges_iter(node) ve G.out_edges_iter(node) (bu artık var düzenlemek benzer 2.0 ve in_edges ve out_edges olan görünümler)

İlgili konular