python: 辞書やタプルで要素を構成しているリストを並び替える方法(lambda)
備忘録です。
今回はlambdaを利用して辞書やタプルで要素を構成しているリストを並び替える方法です。
python:lambdaを利用した並び替え
辞書が入ったリストを、あるキーの値で並び替える
上記のような辞書をリスト化したものの並び替えを行う場合、例えば「price」の値でソートしたいという場合、lambdaをsorted関数の引数で使用すれば並び替えることが可能です。
※降順にしたかったのでreverse=Trueを入れています。
こんな形でソートできます。
また、このlamdaを使う方法は辞書の部分がタプルでも対応可能です。
タプルをリスト化したものを並び替える
上記のようなリストをsort()で並び替えると、
このようにタプル内の1つ目の要素での順番になります。
ここで、タプル内の2つ目の要素で並び替えたい場合は、
こんな感じでlambda式内で処理します。引数xにインデックス[1]を入れることでタプル内のインデックス[1]を取得し、それをもとに並び替えを行なってくれます。
※lsはリストにつけた変数です。
こんな感じで、タプル内の2つ目の要素の順に並び替えることができました。