多次元のリストのソート

多次元のリストをそのままソートすると、先頭の要素を比較してソートする。
要素がリストではなくタプルでも同じ。

>>> a = [[5, 'x'], [2, 'b'], [3, 'z'], [1, 'd'], [4, 'y']]
>>> a.sort()
>>> a
[[1, 'd'], [2, 'b'], [3, 'z'], [4, 'y'], [5, 'x']]

先頭以外の要素で比較する場合は、cmpキーワードを使用する。
2番目の要素を比較してソートする例。

>>> a = [[5, 'x'], [2, 'b'], [3, 'z'], [1, 'd'], [4, 'y']]
>>> a.sort(cmp = lambda x,y: cmp(x[1], y[1]))
>>> a
[[2, 'b'], [1, 'd'], [5, 'x'], [4, 'y'], [3, 'z']]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください