はじめに
2次元配列の複数キー(優先順位付き)によるソートについて、Lambda関数を使用した要領について、備忘録を兼ねてまとめました。
特定の列を基準としたソート
身長(昇順)、体重(降順)、名前(昇順:辞書順)にする場合は次の通り、優先するキーから順に記載します。
Python
import pprint
class_data = [
[taro,178,60],
[jiro,180,82],
[saburo,178,65]
]
class_data.sort(key=lambda x:(x[1],-x[2],x[0]))
pprint.pprint(class_data)
#[[saburo,178,65],
# [taro,178,60],
# [jiro,180,82]]
各キーの前に「-」を付けることで、昇順を降順に切り替えることができます。
参考にしたサイトを見失ったので、見つけられたら貼り付けます。