2

したがって、Pythonでリストを並べ替える場合、sorted関数はキーワードを使用して、並べ替えるオブジェクトcmpの関数をオーバーライドできます。__cmp__

同様のキーワードがあると思いmaxますが、そうではありません。人々は理由を知っていますか?

そして、いずれにせよ、これを回避するための最もPython的な方法を知っている人はいますか?__cmp__クラス自体をオーバーライドしたくないので、考えられる他のオプションsorted(L,cmp=compare)[0]は醜いようです。これを行うための良い方法は何でしょうか?

実際の例はL=[a1,a2,...,an]、それぞれakがそれ自体が整数のリストでありai<aj、辞書式の意味で最大が必要な場合として示されています。

4

1 に答える 1

4

使用しないでくださいcmp。を優先してPython3から削除されましたkey

Pythonは文字列を辞書式に比較key = strするため、「最大」整数を見つけるために使用できます。

In [2]: max([10,9], key = str)
Out[2]: 9
于 2012-08-07T10:53:41.940 に答える