2017-08-01 10 views
1

次のコードを使用してグラフを作成し、ノードを追加します。名前に基づいて頂点を選択

g = Graph() 
g.add_vertices(3) 
g.vs["name"] = ["ABC","ABCD","ACD"] 

頂点名に 'AB'が含まれているグラフから頂点を選択します。上のグラフから、 "ABC"と "ABCD"を返します。これを行う方法はありますか?

+0

'リスト(リターンx.startswith( 'AB')、g.vs [ "名前"])フィルター(ラムダX:)あなたはList Comprehensionを使用することができますAB。 –

+0

の表現が必要です。関数の外に 'return'があります。 –

答えて

2

グラフに含まれるノードの数を指定していないので、縮尺を変える必要はないと思います。 `それは始まるあなたのノードのリストが表示されます:

a = ["ABC","ABCD","ACD"] #List of vertices 
#or in your case a = g.vs['name'] 

b = ["AB"]    #Pattern to be matched 

match =[vert for patt in b for vert in a if patt in vert] 

print match 
#['ABC', 'ABCD'] 
+0

それは言う:未解決の参照 'x' –

+0

申し訳ありません、それはタイプミスでした。私は答えを更新しました。 –

関連する問題