「リストのソート」の編集履歴(バックアップ)一覧はこちら
リストのソート - (2010/03/08 (月) 06:11:37) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
以下のリストを真ん中の項をキーに並べたいときは
list = [[1,2,3],[9,3,4],[5,6,7]]
def narabe(x,y):
return x[1]-y[1]
list.sort(narabe)
※returnのあとは
cmp(x[1],y[1])
でも良い。二つのリストのキー項を比べて、
xの方が大きければ+、逆なら-、同じなら0の数を返すなら何でも良い?
[[参考サイト>http://php-sql-gdgd.jugem.jp/?eid=45]]
[[参考サイト2>http://www.harukaze.net/~haruka/sort.html]]
以下のリストを真ん中の項をキーに並べたいときは
list = [[1,2,3],[9,3,4],[5,6,7]]
def narabe(x,y):
return x[1]-y[1]
list.sort(narabe)
※returnのあとは
cmp(x[1],y[1])
でも良い。二つのリストのキー項を比べて、
xの方が大きければ+、逆なら-、同じなら0の数を返すなら何でも良い?
[[参考サイト>http://php-sql-gdgd.jugem.jp/?eid=45]]
[[参考サイト2>http://www.harukaze.net/~haruka/sort.html]]
もうひとつ
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']]
[[参考サイト>http://www.gesource.jp/weblog/?p=527]]
さらに、ここも参考に↓
[[多次元リストを多重キーでソート>http://d.hatena.ne.jp/pashango_p/20090614/1244984058]]