重複の可能性:
降順値の Python ソートキー関数の書き方
Python 3 では、複数のキーを使用してオブジェクトのリストを辞書順で並べ替えるのは非常に簡単です。例えば:
items.sort(key = lambda obj: obj.firstname, obj.lastname)
引数を使用すると、reverse
昇順または降順のどちらを使用するかを指定できます。しかし、複数のキーでソートしたいが、最初のキーは降順、2番目のキーは昇順でソートしたい場合はどうすればよいでしょうか?
たとえば、 と の 2 つの属性を持つオブジェクトがあるとします。ここで、 は でありpoints
、はです。これらのオブジェクトのリストを降順で並べ替えます(ポイントの数が最も多いオブジェクトが最初になるように) が、同じ数のオブジェクトについては、これらをアルファベット (昇順) で並べ替えたいと考えています。name
points
int
name
str
points
points
name
これはどのように達成できますか?