edges_iter 返回一个生成器对象,所以我猜你想遍历你得到的边。
无论如何,边已经包含与它们关联的节点的信息,因为每条边都可以看作是两个节点的元组。考虑这个例子:
import networkx as nx
g = Graph()
g.add_edges_from([(1, 2), (2, 3), (4,5), (1, 5), (2, 4)])
# Nodes are automatically added
for edge in g.edges_iter():
print edge
print 'Node 1:', edge[0]
print 'Node 2:', edge[1]
edge[0] 将是一个节点,edge[1] 将是第二个节点。
但是,我看不出使用这种方法会如何获得随机边缘。另一种解决方案是使用 random.choice 并选择边缘:
from random import choice
... # Initialize graph
random_edge = choice(g.edges())
如果您想选择多个随机边,可以使用random.sample:
from random import sample
... # Initialize graph
# Get 2 random edges
random_edges = sample(g.edges(), 2)