2010-05-01 105 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

相关问题