如何在python中找到由I graph创建的图中的顶点数?

2024-05-14 08:55:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我的意思是,我可以使用g.summary()(它返回一个包含顶点数的字符串),但随后我需要解析该字符串以得到顶点数——这太糟糕了。

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

当然,有一种简单的方法可以做到这一点,不需要解析字符串。


Tags: 方法函数字符串图形getlen顺序summary
3条回答

由于igraph中的一些函数同时被重命名,我发现这里的答案过时了。医生现在建议的是

gorder(g)

这对我有用。对ecount的类比是

gsize(g)   # vcount(g) still works, but not g.vcount()

注意帮助页面被巧妙地重定向是很有用的,所以

?vcount

带您到gorder文档等

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()还将返回顶点的数量。为说明这一点而编辑的示例。

g.vcount()是iggraph中返回顶点数的专用函数。类似地,g.ecount()返回边的数目,并且它比len(g.get_edgelist())快得多,因为它不必预先构造完整的边列表。

相关问题 更多 >

    热门问题