タイトルでは順序付きの辺を求めていますが、あなたの例では、辺の順序付きノードを求めているので、あなたが何を望んでいるのか分かりません。私の例では、両方の注文を示しています。リストの理解を使用してエッジの新しいリストを作成することに注意してください。オリジナルのエッジリスト(some_edges
)は変更されていません。
最初に、エッジのリスト内のノードの個々のタプルをソートする方法。つまり、エッジは同じ順序ですが、ノードはソートされます。
これで、エッジのリストでエッジを並べ替える方法を説明しました。上記のコードの両方のブロックのための
# sort edges in list of edges
some_edges_2 = sorted(some_edges_1)
print("Sorted edges:", some_edges_2)
出力:ここ
Not sorted: [(2, 1), (2, 3), (2, 4), (2, 5)]
SORTED
Sorted nodes: [(1, 2), (2, 3), (2, 4), (2, 5)]
Sorted edges: [(1, 2), (2, 3), (2, 4), (2, 5)]
はまた、あなたが実際に個々のエッジをソートし、エッジのリストを並べ替えの違いを見ることができます逆ソートの例です。
print("Not sorted: ", some_edges)
print("SORTED REVERSE")
# sort nodes in edges
some_edges_1 = [tuple(sorted(edge, reverse=True)) for edge in some_edges]
print("Sorted nodes:", some_edges_1)
# sort edges in list of edges
some_edges_2 = sorted(some_edges_1, reverse=True)
print("Sorted edges:", some_edges_2)
出力:
Not sorted: [(2, 1), (2, 3), (2, 4), (2, 5)]
SORTED REVERSE
Sorted nodes: [(2, 1), (3, 2), (4, 2), (5, 2)]
Sorted edges: [(5, 2), (4, 2), (3, 2), (2, 1)]