【问题标题】:igraph python check if vertex existigraph python检查顶点是否存在
【发布时间】:2021-05-18 05:21:39
【问题描述】:

我需要简单的解决方案来检查顶点是否存在于大的 ebough 图中

我尝试了 find 方法,但如果顶点不在图中,我得到 ValueError

例如该代码将失败

def treeExample():
    g = Graph()
    g.add_vertex('a')
    g.add_vertex('b')
    g.vs.find(name = 'c')

if __name__ == '__main__':
    treeExample()

事实上我需要一些布尔函数来判断顶点是否存在(没有运行时错误或异常抛出)

当然我可以创建自己的设置来检查这个,但这很不方便

那么这个问题是否可以围绕 igraph 库以某种方式解决?

【问题讨论】:

    标签: python find igraph vertex


    【解决方案1】:

    尝试使用select方法:

    g = Graph()
    g.add_vertex('a')
    g.add_vertex('b')
    len(g.vs.select(name='c'))  # return 0
    len(g.vs.select(name='a'))  # return 1
    

    【讨论】:

      【解决方案2】:

      您可以将find 包装在try- 和except 块中。如果节点存在,对于大型图,这将比select 更快,因为一旦找到节点,它将停止执行。

      def has_node(graph, name):
          try:
              graph.vs.find(name=name)
          except:
              return False
          return True
      

      【讨论】:

        猜你喜欢
        • 2012-12-01
        • 1970-01-01
        • 2018-05-14
        • 1970-01-01
        • 2019-12-23
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多