2012-07-05 70 views
0

我在Python 3.2.3上使用NetworkX模塊。在多節圖G中,兩個節點之間有多條邊 - 比如說,'a'和'b'之間有三條邊 - 在IDLE提示符中輸入G ['a'] .keys()返回一個帶有'b'的dict_keys列表只有一次。任何方式使得'b'發生的次數與兩個節點之間的邊緣一樣多?Python 3,NetworkX - 圖形節點鍵列表不顯示重複的邊緣

回答

1

喜歡的東西

[(k, len(v)) for k, v in G['a'].items()] 
+0

幫助了很多,非常感謝!這個問題搞砸了MinCut問題的解決方案。 – wenderen 2012-07-05 14:39:10

1

的NetworkX API建議您使用G.neighbors(),但對重圖將只給出獨特的鄰居。

如果你想要所有的鄰居,你可以使用[v for u,v in G.edges_iter()],例如

In [1]: import networkx as nx 

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

In [3]: G.add_edge('a','b') 

In [4]: G.add_edge('a','b') 

In [5]: G.add_edge('a','b') 

In [6]: [v for u,v in G.edges_iter()] 
Out[6]: ['b', 'b', 'b']