我无法相信我在这方面遇到了困难,但我们在这......这应该是直截了当的,这是我的代码:
i = random.choice(ER.vs)
j = random.choice(ER.vs)
if t < 1:
ER.add_edge(i,j)
else:
ER.delete_edges(ER.get_eid(i.index,j.index))
最后一行不起作用。我已经尝试了不同的方法来删除i和j之间的边缘,但我似乎无法弄清楚函数。有人可以帮忙吗?
干杯!
答案 0 :(得分:6)
对我而言,它适用于igraph0.6:
import random
import igraph
N = 10
g = igraph.Graph.Full(N)
i, j = random.sample(range(g.vcount()), 2)
g.delete_edges([(i,j)])
print(g.ecount(), N*(N-1)/2)
从输出可以得出结论,它已经删除了一条边:
44 45.0