igraphの使い方3 ~ ノードの存在を確かめる


ネットワークグラフを操作していると、「このノードは、グラフ中に存在しているのか?」と確認する処理を書きたくなる。
igraph+pythonでは、以下のようにする。

from igraph import *
g = Graph() # 空のグラフを作成
g.add_vertices(["a","b","c"]) # "a","b","c"という名前のノードを追加
if "c" in g.vs()["name"]: print("Exist") # "c"というノードがあればExistを標準出力

ポイントは、g.vs()["name"]で、ノードの名前一覧を取得している所だ。この中に、対象のノードがあるかを、通常のリストの要素存在確認と同じようにするだけ。

igraphでは、ノードやリンクの存在を確認するための、直接的なメソッドは用意されていないようなので、自分は、このような回りくどい方法をとっている。
計算時間がネックになる場合は、問題かもしれない…。

コメント