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

 一応こうは書ける。意味ないけどなー。