頂点がキーで、エッジの重みが値であるPythonでのグラフエッジの次の表現がありました。
Edges = {(1,2):8.3 , (2,3): 4, (3,1):6}
1 つのアプリケーション (Kruskal のアルゴリズム) の重みでエッジを並べ替える必要があります。辞書がソートされていないことを考えると、以下のように辞書をタプルのリストに変換したいと思います。
Edges_List = [(1,2,8.3), (2,3,4), (3,1,6)]
これらは、タプルの 3 番目の要素をキーとしてソートできます。私はこれを使いました
Edges_list = [(k,v) for k,v in Edges.items()]
しかし、これを使用してネストされたタプルを取得します。
Edges_List = [((1,2),8.3), ((2,3),4), ((3,1),6)]
2 つの質問があります。
- 上記のネストされたタプルの代わりに、どうすれば 3 つのタプルを作成できますか?
- タプルのリストに変換する以外に、辞書の値である重みで Edges 辞書をソートできるようにする他の方法はありますか?