2013-06-11 4 views
5

get_edge_attributes() 함수를 사용하지 않고 그래프에서 특정 특성을 가진 모서리를 가져 오려고합니다. 더 유연한 방법이 필요합니다. 내가 노드 특성을 얻을 수 있지만, 내가 파이썬 가장자리에 새로 온 이후로 보일 어려운NetworkX 그래프의 가장자리를 통해 구문 분석

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)) 

답변

6

당신은 그래프 가장자리의 모든 걸쳐 루프에 G.edges() 또는 G.edges_iter() 메소드를 사용할 수 있습니다.

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

감사합니다. Aric! – geolykos