如何解决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 举报,一经查实,本站将立刻删除。