sortの……
sortのまちがった意味を持つ減算compareをpythonでちょちょっと書こうとおもったら、
渡そうとしたfunctionの戻り値が自動的にlongに拡張されるので書けなかった。
TypeError: comparison function must return int
な感じ。
int()は勝手にlong()を兼ねるのでreturn int(a-b)では駄目。
Pythonではこういう書き方はできないよってことだろうかな。
イリーガルな書き方をしようとしているわけだから、当たり前といえば当たり前なんだけど。
(実行時エラーになるわけだけど、暗黙でsort結果が狂うよりその方がまだマシですな)
追記:
def cmp(a, b): c = a - b if c > sys.maxint: return sys.maxint elif c < -sys.maxint: return -sys.maxint return c
一応こうは書ける。意味ないけどなー。