微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

igraph python 检查顶点是否存在

如何解决igraph python 检查顶点是否存在

我需要简单的解决方案来检查大 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 库以某种方式解决吗?

解决方法

尝试使用 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
,

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。