2013-06-11 16 views
5

get_edge_attributes() işlevini kullanmadan grafikten belirli bir özniteliği olan kenarları elde etmeye çalışıyorum. Bunu yapmanın daha esnek bir yoluna ihtiyacım var. Ben düğüm özelliklerini alabilirsiniz ama piton kenarlarında yeniyim beri görünmek zorAğ grafiğinde kenarları ayrıştırma

G = nx.read_graphml("test.graphml") 

for n in G: 
    print "%s\t%s" %(n, G.node[n].get(attr)) 

for (s,d) in G:  # and here is my problem 
    print "%s->%s\t%s" %(s, d, G.edge[s][d].get(attr)) 

cevap

6

Sen grafik kenarlarının her yerinde döngüye G.edges() veya G.edges_iter() yöntemlerini kullanabilirsiniz.

In [1]: import networkx as nx 

In [2]: G = nx.Graph() 

In [3]: G.add_edge(1,2,weight=7) 

In [4]: G.add_edge(2,3,weight=10) 

In [5]: for u,v,a in G.edges(data=True): 
    print u,v,a 
    ...:  
1 2 {'weight': 7} 
2 3 {'weight': 10} 
+0

Teşekkür ederim Aric! – geolykos

İlgili konular