我正在编写一个接收图形作为输入的函数。 我需要做的第一件事就是确定图表的顺序(即图表中的顶点数量)。
我的意思是,我可以使用g.summary()
(它返回一个包含顶点数的字符串),但是我已经解析了字符串以获得顶点的数量 - 而且&# 39;只是讨厌。
使用len(g.get_edgelist())
获取边缘数量,这有效。但是没有g.get_vertexlist()
,所以我不能使用相同的方法。
当然,有一种简单的方法可以解决这个问题。
答案 0 :(得分:16)
g.vcount()
是igraph中的专用函数,它返回顶点数。类似地,g.ecount()
返回边数,并且它比len(g.get_edgelist())
快,因为它不必提前构造完整的边列表。
答案 1 :(得分:2)
由于gorder(g)
中的某些功能已在此期间重命名,因此我发现此处的答案已过时。文档现在建议的是调用
ecount
对我有用。 gsize(g) # vcount(g) still works, but not g.vcount()
的类比是
?vcount
注意帮助页面被巧妙地重定向是很有用的,所以
gorder
带您进入Numbervar x;
Numbervar level := {Sheet1_.Level};
StringVar indentStr;
For x := 1 To level Do
(
indentStr := indentStr + ' '
);
indentStr + cstr({Sheet1_.Name})
文档等。
答案 2 :(得分:1)
g.vs
应该将顶点序列作为igraph.VertexSeq
对象返回:
>>> from igraph import Graph
>>> g = Graph.Formula("A-B")
>>> g.vs["name"]
['A', 'B']
>>> len(g.vs)
2
>>> g.vcount()
2
编辑:正如@Tamas在下面提到的那样,g.vcount()
也将返回顶点数。编辑的示例说明了这一点。