从python-igraph获取顶点列表

18

我一直在查找文档,试图找到一个可以从iGraph图中返回顶点列表的函数,但是没有找到。有人知道如何从iGraph图中获取顶点列表吗?

3个回答

16

vs属性是igraph.Graph对象的VertexSeq对象。

g = Graph.Full(3)
vseq = g.vs
print type(vseq)
# <class 'igraph.VertexSeq'>

您还可以从您的图表中创建一个:

g = Graph.Full(3)
vs = VertexSeq(g)
您可以使用属性作为迭代器:
g = Graph.Full(3)
for v in g.vs:
    # do stuff with v (which is an individual vertex)

7
您可以尝试在Python中使用更简单的命令,以读取图并转换为igraph格式:

G = igraph.Graph.Read("your_inputgraph.txt", format="edgelist", directed=False)

该命令适用于IT技术相关内容。
nodes = G.vs.indices

节点将是igraph中所有节点的列表。

这非常快,只需一行即可列出所有ID。太棒了! - thepunitsingh

4
如果您正在寻找名称(假设您已经为顶点设置了名称),以下代码将按序列给出所有顶点的名称列表:
named_vertex_list = g.vs()["name"]

如果您只是需要索引,那么只需使用vcount创建一个范围对象即可获得索引。
vertex_indices = range(g.vcount())

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接