組み込み関数max
とmin
のPythonでのドキュメントは、key
パラメータがsort
関数の場合と同じように動作する必要があることを示しています。言い換えれば、私はこれを行うことができる必要があります:Python組み込みのmax/min関数のデフォルトキー
a = [1, 2, 3, 4]
max(a, key=None)
をただし、これはエラーを発生させます: TypeError: 'NoneType' object is not callable
しかし、私はsort
機能と似た何かをする場合、私は期待どおりの結果を得ます:
a = [1, 2, 3, 4]
a.sort(key=None)
エラーは生成されず、デフォルトのソートが使用されます。いくつかの本はまた、私がmax
とmin
の機能で同じ振る舞いで逃げることができなければならないことを示唆しています。この抜粋をPython in a Nutshellからご覧ください。
実際これはmax
とmin
機能のデフォルトの動作ですか?それはすべきでしょうか?ソート関数と一致してはいけませんか?
感謝:ちょうど追加し、あなたが迷っている場合には、(
sort
中およびmax
/min
機能の両方の)デフォルトkey
値は何かのようです。私はこれらの機能の実際の実装が異なっていたことを知っていましたが、私が見つけることができたすべてのドキュメントがこの違いを明示的にしていないと不満を感じました。 –問題ありません。これがあなたの質問に答えるなら、それを受け入れることは常に感謝します。 –
"key"は本当にひどい名前です... – OlivierBlanvillain