最初、タプルのリストは、2番目の値と3番目の値でソートされます。タプルのリストをソートするためのPythonラムダ関数
tlist = [('a', 1, 14), ('a', 1, 16), ('b', 1, 22),
('a', 2, 1), ('c', 2, 9), ('d', 2, 11), ('d', 2, 12)]
は、その第3の値によって逆、その第二の値によってソートするタプルのリストを試みます。
tlist= [('b', 1, 22), ('a', 1, 16), ('a', 1, 14),
('d', 2, 12), ('d', 2, 11), ('c', 2, 9), ('a', 2, 1)]
これは私がこれまでのところ、このanswerに見られるようにしようとしたものです:それは、list
の出力がそうのように並べ替えることがしたいです
tlist = sorted(tlist, key=lambda t: return (t[0], t[1], -t[2]))
が、それは動作しません。 return outside of function
エラーを返します。
希望の出力を得る方法は?
EDIT
このquestionは非常に良いリソースを提供し、おそらくすべての誰かが先に行くと、私の具体的な質問に取り組む必要があるだろう。しかし、低レベルの経験と異なるソート基準(上記の説明を参照)を使用したソートの具体的な例を考えてみると、これは重複しないと思います。
ラムダ式は 'return'ステートメントを必要としません。 –
リスト/タプルのソート(リスト/タプル)の可能な複製?](http://stackoverflow.com/questions/3121979/how-to-sort-list-tuple-of-lists-tuples) – AKS
@ AKSあなたは、あなたが留意した質問と類似している私の質問のポイントを持っています。なぜ私はそれが異なるソート基準のために重複ではないと感じるのかを指摘するために私の質問を編集しました。 –