max(float('nan'), 1)
がNaNと評価されたパラメータの順序に依存パイソン:最大/最小の組み込み関数は
max(1, float('nan'))
は1
に評価され、それを意図行動ですか?
回答ありがとうございます。
max
は、イテラブルが空の場合に例外を発生させます。 nan
が存在すると、Pythonのmax
が例外を発生させないのはなぜですか?または、少なくともnan
のような有用なものを実行するか、nan
を無視してください。現在の行動は非常に危険で、完全に不合理なようです。
私はこの動作のさらに驚くべき結果を発見したので、related questionを投稿しました。
に機能min_maxを見上げる本当に...「ナン」でブレークしていないようです、Pythonのコードでこれを確認することができ、0.5(最大 'ので、 float( 'nan')、1) 'は1を返します。 – khachik
@khachik:パラメータの順序に依存する「最大」結果は、私には予期せぬものです。しかし、実際にあなたの例でも動作します: 'max(float( 'nan')、1、0.5)'はnanを返します。 – max
バグは最大ではありません。このバグは、浮動小数点を使用していて、意味のある数学的な動作をしていると仮定しているという事実です。 – Antimony