Pythonのdict型をkeyごとにタプルにせずにソートする方法
今回はPythonのdict型をkeyごとにタプルにせずにソートする方法についてご紹介いたします。
Pythonのdict型をkeyごとにタプルにせずにソートする方法
Pythonの辞書型の変数を、keyごとにsortしたいときがあるとします。
例えば、
1 |
test = {'orange': 100, 'apple': 120, 'grape': 80} |
というdictがあったとします。
上記のdictをキーで並び替えたいときに、普通にlambdaを使ってsortedの関数を使ってしまうと、次のようにタプルになってしまいます。
1 2 3 |
>>> sorted_test = sorted(test.items(), key=lambda x:x[0]) >>> sorted_test [('apple', 120), ('grape', 80), ('orange', 100)] |
keyで並び替え、なおかつtupleにしたくないときは、sortedの関数を使わずに、for文で回すことが考えられます。
1 2 3 4 5 6 |
>>> sorted_data = {} >>> for key in sorted(test.keys()): ... sorted_data[key] = test[key] ... >>> sorted_data {'apple': 120, 'grape': 80, 'orange': 100} |
処理時間が短く、メモリも食わないことが考えられるので、やや冗長なように感じられますが上記が一番良い方法に思えます。
終わりに
今回はPythonのdict型をkeyごとにタプルにせずにソートする方法についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません