私は自分の古いコードをリファクタリングしていて、これに出くわしました:
alist.sort(cmp_items)
def cmp_items(a, b):
if a.foo > b.foo:
return 1
elif a.foo == b.foo:
return 0
else:
return -1
コードは機能します (そして私は約 3 年前に書きました!) しかし、Python のドキュメントのどこにもこのことが文書化されているのを見つけることができず、誰もがsorted()
カスタムの並べ替えを実装するために使用しています。誰かがなぜこれが機能するのか説明できますか?