小编Kor*_*ria的帖子

使用 add_edge_list() 方法创建图形的最佳方法是什么?

我正在尝试通过graph-tool库(接近 10^6 - 10^7 个顶点)创建大图,并用顶点名称填充顶点属性或使用名称而不是顶点索引。我有:

  1. 名单:

    ['50', '56', '568']
    
    Run Code Online (Sandbox Code Playgroud)
  2. 一组边,但不是顶点索引,而是由它们的名称组成:

    edge_list = {frozenset({'568', '56'}), frozenset({'56', '50'}), frozenset({'50', '568'})}
    
    Run Code Online (Sandbox Code Playgroud)

因为add_edge_list()如果它们在图中没有这样的顶点,则允许创建顶点。我试图用它来填充一个空图。它工作正常,但是当我尝试按名称获取顶点时,出现错误,提示没有具有此类索引的顶点。

这是我的程序的代码:

['50', '56', '568']
Run Code Online (Sandbox Code Playgroud)

的错误信息print(g.vertex('50'))

ValueError: Invalid vertex index: 50
Run Code Online (Sandbox Code Playgroud)

我想创建图表:

  1. edge_list仅使用;
  2. 通过名称快速访问顶点;
  3. 按时间优化(如果可能,还有 RAM)。

有什么好的方法可以做到这一点吗?

编辑:当前代码:

edge_list = {frozenset({'568', '56'}), frozenset({'56', '50'}), frozenset({'50', '568'})}
Run Code Online (Sandbox Code Playgroud)

python graph networkx python-3.x graph-tool

6
推荐指数
1
解决办法
1353
查看次数

标签 统计

graph ×1

graph-tool ×1

networkx ×1

python ×1

python-3.x ×1