例えば、
hoge = [["a"=> 1, "b" => 10], ["a"=> 10, "b"=> 1], ["a"=> 5, "b"=> 5], ["a"=> 3, "b"=> 10], ["a"=> 7, "b"=> 1], ["a"=> 3, "b"=> 3]]
という dict 型のデータを値でソートしたい、ソートの評価優先順位は"a"、"b"の順("a"の値が同じ場合に"b"の値を見てソート)としたい場合、
sorted(hoge, key=lambda k: (k["a"], k["b"]))
とします。結果、
[{'a': 1, 'b': 10}, {'a': 3, 'b': 3}, {'a': 3, 'b': 10}, {'a': 5, 'b': 5}, {'a': 7, 'b': 1}, {'a': 10, 'b': 1}]
となります。"a"、"b"の評価優先順位を逆にしたい場合は、
sorted(hoge, key=lambda k: (k["b"], k["a"]))
とします。結果、
[{'a': 7, 'b': 1}, {'a': 10, 'b': 1}, {'a': 3, 'b': 3}, {'a': 5, 'b': 5}, {'a': 1, 'b': 10}, {'a': 3, 'b': 10}]
となります。また、例えば、"a"は降順したい、ということであれば、
sorted(hoge, key=lambda k: (k["b"], -k["a"]))
とします。結果、
[{'a': 10, 'b': 1}, {'a': 7, 'b': 1}, {'a': 3, 'b': 3}, {'a': 5, 'b': 5}, {'a': 3, 'b': 10}, {'a': 1, 'b': 10}]