2010-05-01 142 views

回答

3

NetworkX中的邊緣由其節點定義,所以我不確定你在這裏問什麼。圖中的特定邊只是一個節點元組,具有可選的權重。

import networkx as nx 
g = nx.Graph() 
g.add_edge(1,2) 
g.add_edge(2,3) 
g.edges() 

[(1, 2), (2, 3)] 

正如你所看到的,邊緣的列表中明確規定每邊的節點。

更新:這是否你想要做什麼?

#!/usr/bin/python 

import networkx as nx 
import random 

g = nx.Graph() 
g.add_edges_from([(1,2),(2,3),(1,4),(2,5)]) 

random_edge = random.choice(g.edges()) 

print 'Randomly selected edge is:', random_edge 
print 'Nodes are', random_edge[0], 'and', random_edge[1] 
+0

假設我有一個邊列表,其中一人可能是邊緣(2,3),這是節點2和3。我希望程序之間的邊緣,隨機給我一個邊緣從我的數據,也給我它的節點,就像這裏給我2和3. – masti 2010-05-01 16:01:45

+0

@masti:我已經更新了我的答案。你是這個意思嗎? – 2010-05-01 16:45:44

+0

是的,謝謝。實際上,這是我的程序的第一部分,我需要稍後使用這些節點。所以我認爲可能有一個函數get_nodes,函數get_edge的相反...但它仍然夠好! – masti 2010-05-01 17:09:09

相關問題