まずは以下のような多次元配列に対して、リストのsort()メソッドを適用してみましょう。 すると、第一要素をキーとしたソーティングが行われます。
1 2 3 | >>> hoge = [(1, 23), (2, 100), (3, 54), (4, 200)] >>> hoge.sort() # タプルの1番目でソート [(1, 23), (2, 100), (3, 54), (4, 200)] |
次にsort()メソッドに自分でソートキーを定義してみます。
これにより、自由にソーティングを行うことができます。
# 何も指定しない場合は、タプルの1番目の値がキーとしてその降順にソートされます。
1 2 3 4 5 6 7 8 9 10 11 | >>> hoge = [(1, 23), (2, 100), (3, 54), (4, 200)] # タプルの1番目でソート >>> hoge.sort() [(1, 23), (2, 100), (3, 54), (4, 200)] # タプルの2番目で昇順ソート >>> hoge.sort( cmp=lambda x, y: cmp(x[1], y[1]) ) [(1, 23), (3, 54), (2, 100), (4, 200)] # タプルの2番目でソート >>> hoge.sort( cmp=lambda x, y: cmp(x[1], y[1]), reverse=True ) >>> hoge [(4, 200), (2, 100), (3, 54), (1, 23)] |