Pythonで辞書のソートをする方法をまとめる。
辞書はキーとバリューに分けられる。
キーとバリューのそれぞれを基準にして昇順、または降順にソートする手順を以下に記載する。
キーを基準にして昇順にソートする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
test_dict = { 1:3, 2:1, 3:8, 4:7, 5:2, 6:5, 7:4, 8:10, 9:6, 10:9} #キーを基準にして昇順にソート sorted_test_dict = sorted(test_dict.items()) print(sorted_test_dict) #[(1, 3), (2, 1), (3, 8), (4, 7), (5, 2), (6, 5), (7, 4), (8, 10), (9, 6), (10, 9)] |
キーを基準にして昇順にソートした。
printで出力してみると、キーが小さい順に並んでいるので正しくソートできていることが確認できる。
キーを基準にして降順にソートする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
test_dict = { 1:3, 2:1, 3:8, 4:7, 5:2, 6:5, 7:4, 8:10, 9:6, 10:9} #キーを基準にして降順にソート sorted_test_dict = sorted(test_dict.items(), reverse=True) print(sorted_test_dict) #[(10, 9), (9, 6), (8, 10), (7, 4), (6, 5), (5, 2), (4, 7), (3, 8), (2, 1), (1, 3)] |
値を基準にして昇順にソートする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
test_dict = { 1:3, 2:1, 3:8, 4:7, 5:2, 6:5, 7:4, 8:10, 9:6, 10:9} #バリューをキーに昇順にソート sorted_test_dict = sorted(test_dict.items(), key=lambda test_dict: test_dict[1]) print(sorted_test_dict) #[(2, 1), (5, 2), (1, 3), (7, 4), (6, 5), (9, 6), (4, 7), (3, 8), (10, 9), (8, 10)] |
値を基準にして降順にソートする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
test_dict = { 1:3, 2:1, 3:8, 4:7, 5:2, 6:5, 7:4, 8:10, 9:6, 10:9} #バリューをキーに降順にソート sorted_test_dict = sorted(test_dict.items(), key=lambda test_dict: test_dict[1], reverse=True) print(sorted_test_dict) #[(8, 10), (10, 9), (3, 8), (4, 7), (9, 6), (6, 5), (7, 4), (1, 3), (5, 2), (2, 1)] |
コメント