【Python】辞書~その5~ 並び替え

【Python】辞書~その5~ 並び替え

辞書には順序はありません。

とはいっても、key値やvalue値でソートして出力したい時があります.

まずはそのまま表示します。

key値の時は簡単です。sorted()を使用します。

value値の時はlambda関数を使います。これは無名関数と呼ばれています。

想定したような順序になっていませんが、これは値の部分が文字列のためです。

文字列の場合、最初の一文字目でまず順番がきまり、そこも同じ場合は二文字目で順番、そこでも同じ場合は…という風になります。今回は100の「1」、50の「5」、「8」の3つで順番昇順になっています。

なお、z[1]としている箇所をz[0]にすると、キーでのsortになります。

ちなみに、「z」を使っていますが、「x」や「y」でも大丈夫です。「x」や「y」を指定しても、forの後ろにある「x」や「y」とは区別されて使われるので、問題ありません。

先の例では値が文字列の場合を確認しましたが、数値の場合を見てみます。

まずはそのまま表示。

キーでソートして並び替えます。

値で並び替えます。

想定した通り、数字の大きさの小さい順に並び変わりました。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする