2010-11-22 6 views
2

内の要素にこのような何かを行うための最もエレガントな方法は何です:Pythonの「マップまたは」リスト

>>> tests = [false, false, false] 
>>> map_or(test) 
false 

>>> tests = [true, false, false] 
>>> map_or(test) 
true 

リスト要素の1つ以上が該当する場合map_or関数がtrueを返す必要があります。

+2

それは 'ではないでしょう倍または? – delnan

+0

@delnan確かに、これに関するwikiは啓発されていました。 python 'reduce(関数、iterable [初期化子])'がより一般的な方法です。このコメントのためのtnx! – frnhr

答えて

9

any()を使用してください。あなたが望むだけの機能を内蔵しています。

+4

http://docs.python.org/library/functions.html#anyに文書化されています。 'all()'にも慣れ親しむべきです。 –

+0

投票バイアスのもう一つの興味深い例:この質問に対する3つの答えはすべて同じですが、最初に投票されたので、残りの部分には非常に不均衡なスコアが付けられました。 –

+0

@グレン・メイナード:実際、それはまた、最初に投稿されましたが、ほんの数秒です。しかし、私はあなたに投票を与えるでしょう:) –

4
any(tests) 

(まだ再びStackOverflowのは馬鹿のようなユーザーを扱い、最小限の解答の長さを設定しますので、このの残りがパディングである)機能を内蔵してい

+0

確かに。 [充填材] –

5
any(tests) 

:)

関連する問題