我使用以下代碼創建圖形並添加節點。根據名稱選擇頂點
g = Graph()
g.add_vertices(3)
g.vs["name"] = ["ABC","ABCD","ACD"]
我想從頂點名稱包含'AB'的圖中選擇頂點。從上面的圖表中,它應該返回「ABC」和「ABCD」。有沒有辦法做到這一點?
我使用以下代碼創建圖形並添加節點。根據名稱選擇頂點
g = Graph()
g.add_vertices(3)
g.vs["name"] = ["ABC","ABCD","ACD"]
我想從頂點名稱包含'AB'的圖中選擇頂點。從上面的圖表中,它應該返回「ABC」和「ABCD」。有沒有辦法做到這一點?
由於您尚未指定圖形將包含的節點數量,因此我會假設您不需要縮放。您可以使用List Comprehension:
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']
之外它說:未解決的參考'x' –
對不起,這是一個錯字。我已經更新了答案。 –
'名單(過濾器(拉姆達X:返回x.startswith( 'AB'),g.vs [ 「名稱」]))'它會給你開始的節點列表AB。預期表達式爲 –
。 'return'功能 –