「ソート」の編集履歴(バックアップ)一覧はこちら
「ソート」(2009/07/08 (水) 13:52:44) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
[[Sorting Mini-HOWTO (和訳)>http://www.python.jp/Zope/articles/tips/sorthowto]]
&bold(){基本}
#code(){{
a = [5, 2, 3, 1, 4]
a.sort()
}}
&bold(){ソートのルールを定義する}
2つの入力をとり、
x < yのとき-1を戻し
x == yのとき0を戻し
x > y のとき1を戻す関数を定義すればよい。
#code(){{
def newRule(x,y):
return x-y
a = [1, 4, 9, 3]
a.sort(newRule)
}}
&bold(){文字列}
#code(){{
def newStrRule(x,y):
return cmp(x,y)
a = ['aaa', 'bbb', 'abc']
a.sort(newStrRule)
}}
cmp関数で比較できます。
&bold(){多次元配列}&bold(){}
#code(){{
def newArrayRule(x,y):
return cmp(x[0],y[0])
a = [['aaa',30], ['bbb',1], ['abc',0]]
a.sort(newArrayRule)
}}
[[Sorting Mini-HOWTO (和訳)>http://www.python.jp/Zope/articles/tips/sorthowto]]
&bold(){基本}
#highlight(python){{
a = [5, 2, 3, 1, 4]
a.sort()
}}
&bold(){ソートのルールを定義する}
2つの入力をとり、
x < yのとき-1を戻し
x == yのとき0を戻し
x > y のとき1を戻す関数を定義すればよい。
#highlight(python){{
def newRule(x,y):
return x-y
a = [1, 4, 9, 3]
a.sort(newRule)
}}
&bold(){文字列}
#highlight(python){{
def newStrRule(x,y):
return cmp(x,y)
a = ['aaa', 'bbb', 'abc']
a.sort(newStrRule)
}}
cmp関数で比較できます。
&bold(){多次元配列}&bold(){}
#highlight(python){{
def newArrayRule(x,y):
return cmp(x[0],y[0])
a = [['aaa',30], ['bbb',1], ['abc',0]]
a.sort(newArrayRule)
}}