从边缘列表创建图形时的初始节点 ID

Initial node's ids when creating graph from edge list

我想知道,函数 Read_Edgelist 在哪里存储边缘列表中的原始 ID?或者在哪个属性名下?

假设我正在阅读像这样的边缘列表:

1 2
2 1 
1 3

其中数字 1,2,3 是节点的 ID(或名称)。 iGraph(python 版本)在哪里存储这些 ID? 我尝试从属性 nameid 中检索这些 ID,但它不起作用,因为这两个属性似乎必须明确定义。

Read_Edgelist 假设节点 id 是从 0 到 m 的连续整数,其中 m 是边列表中的最大整数。所以有"no need to store node ids."

例如,如果您的 edgelist.txt 是 1 3,则此代码

import igraph as ig
g = ig.Graph.Read_Edgelist("edgelist.txt")
print g.get_adjacency()

创建一个包含四个节点(0、1、2、3)的图并打印

[[0, 0, 0, 0]
 [0, 0, 0, 1]
 [0, 0, 0, 0]
 [0, 0, 0, 0]]

如果您不想创建 "intermediate" 个节点,请参阅此

虽然以下对于具有以 0 开头的连续节点 ID 的图来说是不必要的,但可以使用 VertexSeq and Vertex:

访问节点 ID
for v in g.vs:
  print v.index   # node id