Разбор ребер в графе NetworkX



Я пытаюсь получить ребра, которые имеют определенный атрибут из Графа, не используя функцию get_edge_attributes (). Мне нужен более гибкий способ сделать это. Я могу получить атрибуты узлов, но так как я новичок в python ребра кажутся трудными



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

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

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

1 ответ:

Вы можете использовать методы 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}

Comments

    Ничего не найдено.