我的程序返回的元組,其代表的曲線圖的邊的列表,在形式:在Python列表中刪除從圖形重複的邊緣
[(i, (e, 130)), (e, (i, 130)), (g, (a, 65)), (g, (d, 15)), (a, (g, 65))]
所以,(I,(E,130))意味着'我'連接到'e'並且距離130個單位。 (e,(i,130))意味着'e'連接到'i'並且距離130個單位。所以基本上,這兩個元組代表了同樣的事情。
如何從列表中刪除它們中的任何一個? 所需的輸出:
[(i, (e, 130)), (g, (a, 65)), (g, (d, 15))]
我試過寫一個equals函數。這會有幫助嗎?
def edge_equal(edge_tuple1, edge_tuple2):
return edge_tuple1[0] == edge_tuple2[1][0] and edge_tuple2[0] == edge_tuple1[1][0]
我喜歡這個解決方案..你有我的upvote ... :) –
這正是我需要的!非常感謝你:) –