2015年11月23日

all([]) と any([])

ビルトイン関数である all() と any() の注意点について述べます。

all() は ANDゲート相当の振る舞いを、any() は ORゲート相当の振る舞いをします。この点は特に問題なく、理解もしやすいです。
では、all() と any() に引数として空リストを渡すと何を出力するのでしょうか? 直感的にはどちらも False を出力するような気がしますが、、、。

>>> all([])
True

>>> any([])
False
all([]) は True、any([]) は False という結果になりました。

意外と言うべきかどうかは微妙ですが、ともかくこのような仕様になっています。all() と any() を使う際には頭に入れておきましょう。

0 件のコメント:

コメントを投稿