如何在igraph python中删除具有特定权重的所有边?
我是Python新手,很抱歉,如果这太简单了,我正在尝试删除所有如何在igraph python中删除具有特定权重的所有边?,python,igraph,Python,Igraph,我是Python新手,很抱歉,如果这太简单了,我正在尝试删除所有边,它的权重为零,但是有了这段代码,我只能一次删除一条边,如何让它删除所有边 ig.summary(graph_like) IGRAPH D-W- 5390 40276 -- graph_like.delete_edges("weight"==0); ig.summary(graph_like) IGRAPH D-W- 5390 40275 -- 提前感谢您类似于图形。删除边(“权重”==0)不起作用,因为它的计算结果如下:
边
,它的权重
为零
,但是有了这段代码,我只能一次删除一条边,如何让它删除所有边
ig.summary(graph_like)
IGRAPH D-W- 5390 40276 --
graph_like.delete_edges("weight"==0);
ig.summary(graph_like)
IGRAPH D-W- 5390 40275 --
提前感谢您
类似于图形。删除边(“权重”==0)
不起作用,因为它的计算结果如下:
“weight”==0
,这是字符串“weight”
与数字零的比较。此比较的结果为False
,类型为bool
graph\u like.delete\u edges()
,该函数需要一个边ID列表作为其第一个参数。由于边ID是整数,它将False
转换为整数,使其等于零,然后igraph删除ID为零的边graph_like.es.select(weight=0)
其中,graph_like.es
表示图的边序列(即顺序中的所有边),其select()
方法基于某些标准限制边序列。这里,weight=0
是select()
的关键字参数(注意,weight
和0
之间只有一个等号,weight
在这里不是字符串)。上述表达式的结果是具有零权重的所有边的序列。然后,您可以简单地调用此边缘序列的delete()
方法:
graph_like.es.select(weight=0).delete()
graph\u like.delete\u边(“weight”==0)
不起作用,因为它的计算结果如下:
“weight”==0
,这是字符串“weight”
与数字零的比较。此比较的结果为False
,类型为bool
graph\u like.delete\u edges()
,该函数需要一个边ID列表作为其第一个参数。由于边ID是整数,它将False
转换为整数,使其等于零,然后igraph删除ID为零的边graph_like.es.select(weight=0)
其中,graph_like.es
表示图的边序列(即顺序中的所有边),其select()
方法基于某些标准限制边序列。这里,weight=0
是select()
的关键字参数(注意,weight
和0
之间只有一个等号,weight
在这里不是字符串)。上述表达式的结果是具有零权重的所有边的序列。然后,您可以简单地调用此边缘序列的delete()
方法:
graph_like.es.select(weight=0).delete()
非常感谢@Tamás的详细解释。非常感谢@Tamás的详细解释。