Python リストを複数キーでソートするの巻
ちょこちょこ解いているcodewarsにて、
Pythonのあるリストを、複数キーでソートする問題を解いたのである。
code snippet:
ll = sorted(l, key=lambda x : (-len(x), x[0], x[2:])) # l:string(数字,アルファベット、記号の組合せ)要素を持つリスト
- 長い順に並べて
- 長さ同じであれば、文字列の一番最初の文字の若い順に並べて
- それでも同じであえば、x[2:]以降の文字列の若い順に並べる
Point
- keyをtupleで渡すと順に評価してくれるらしい。
- lenにマイナスをつけると、降順になる。 最初は、ん?Why?。。後にア、ハア!!!!なるほ!!!!となり候。