リストのソート

「リストのソート」の編集履歴(バックアップ)一覧はこちら

リストのソート」(2010/03/08 (月) 06:16:05) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

以下のリストを真ん中の項をキーに並べたいときは 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]] # 配列の並び順 [名前],[国語],[算数] a = [ ['Tim', 55, 46 ], ['Jack', 55, 70 ], ['Mathhew', 23, 80 ], ] 「国語」でソート >>> sorted(a, key=lambda x:x[1], reverse=True) [['Tim', 55, 46], ['Jack', 55, 70], ['Mathhew', 23, 80]] 「国語」(第1キー)と「算数」(第2キー)でソート >>> sorted(a, key=lambda x:(x[1],x[2]), reverse=True) [['Jack', 55, 70], ['Tim', 55, 46], ['Mathhew', 23, 80]]
以下のリストを真ん中の項をキーに並べたいときは 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]] # 配列の並び順 [名前],[国語],[算数] a = [ ['Tim', 55, 46 ], ['Jack', 55, 70 ], ['Mathhew', 23, 80 ], ] 「国語」でソート >>> sorted(a, key=lambda x:x[1], reverse=True) [['Tim', 55, 46], ['Jack', 55, 70], ['Mathhew', 23, 80]] 「国語」(第1キー)と「算数」(第2キー)でソート >>> sorted(a, key=lambda x:(x[1],x[2]), reverse=True) [['Jack', 55, 70], ['Tim', 55, 46], ['Mathhew', 23, 80]]

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。