如何在python中找到iGraph创建的图形中的顶点数?

时间:2015-11-14 08:02:05

标签: python igraph

我正在编写一个接收图形作为输入的函数。 我需要做的第一件事就是确定图表的顺序(即图表中的顶点数量)。

我的意思是,我可以使用g.summary()(它返回一个包含顶点数的字符串),但是我已经解析了字符串以获得顶点的数量 - 而且&# 39;只是讨厌。

使用len(g.get_edgelist())获取边缘数量,这有效。但是没有g.get_vertexlist(),所以我不能使用相同的方法。

当然,有一种简单的方法可以解决这个问题。

3 个答案:

答案 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()也将返回顶点数。编辑的示例说明了这一点。