Python 3 では sorted 関数に比較関数を渡すことが出来なくなったのだけど、Python 3.2 では functools.cmp_to_key を使えば、sorted 関数に比較関数を渡すのと同様のことが出来るようになった。いくつかサンプルを書いてみる。 functools.cmp_to_key(func) はじめに、整数を文字列で比較してソートするサンプルを書いてみる。 from functools import cmp_to_key def cmp(a, b): if a == b: return 0 return -1 if a < b else 1 def cmpstr(a, b): return cmp(str(a), str(b)) def main(): xs = [4, 90, -9, 12, 42] print(sorted(xs, key=cmp_to_k