1
我想比較圖中不同邊的節點。我怎樣才能從邊緣(n1,n2)得到節點(n1和n2)?如何從網絡x中的特定邊緣獲取節點?
我想比較圖中不同邊的節點。我怎樣才能從邊緣(n1,n2)得到節點(n1和n2)?如何從網絡x中的特定邊緣獲取節點?
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]
假設我有一個邊列表,其中一人可能是邊緣(2,3),這是節點2和3。我希望程序之間的邊緣,隨機給我一個邊緣從我的數據,也給我它的節點,就像這裏給我2和3. – masti 2010-05-01 16:01:45
@masti:我已經更新了我的答案。你是這個意思嗎? – 2010-05-01 16:45:44
是的,謝謝。實際上,這是我的程序的第一部分,我需要稍後使用這些節點。所以我認爲可能有一個函數get_nodes,函數get_edge的相反...但它仍然夠好! – masti 2010-05-01 17:09:09