我的程序返回一个元组列表,表示一个图的边,形式如下:
[(i, (e, 130)), (e, (i, 130)), (g, (a, 65)), (g, (d, 15)), (a, (g, 65))]
因此,(i,(e,130))表示“i”连接到“e”,距离为130个单位。
同样,(e,(i,130))表示“e”连接到“i”,距离为130个单位。因此,这两个元组本质上表示相同的事情。
我如何从该列表中删除其中任何一个?
期望输出:
[(i, (e, 130)), (g, (a, 65)), (g, (d, 15))]
我尝试编写一个相等性函数。这会有所帮助吗?
def edge_equal(edge_tuple1, edge_tuple2):
return edge_tuple1[0] == edge_tuple2[1][0] and edge_tuple2[0] == edge_tuple1[1][0]