and
そしてor
、彼らが評価した最後の要素を返しますが、なぜPythonの組み込み関数がないのany
ですか?
このように自分で実装するのはとても簡単だということですが、それでもなぜだろうと思っています。
def any(l):
for x in l:
if x:
return x
return x
編集:
以下の回答に追加するために、この問題に関するあなたがたの強力な皇帝の同じメーリングリストからの実際の引用があります:
常にTrueとFalseを返すのか、それとも最初のフェール/パス要素を返すのか。私もブログを書く前にそれで遊んで、エンドケース(シーケンスが空の場合、またはすべての要素がテストに失敗した場合)を満足のいくものにすることはできないことに気付きました:引数がブール値の反復可能である場合、Noneを選択すると奇妙に感じます。引数が非ブールオブジェクトの反復可能である場合、Falseを選択すると奇妙に感じます。
Guido van Rossum(ホームページ:http ://www.python.org/~guido/ )