2010-11-22 9 views
2
다음과 같은 일을 가장 우아한 방법은 무엇

의 요소에 "지도 또는"파이썬 목록

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

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

map_or 기능은 목록 요소 중 하나 이상에 해당하는 경우는 true 반환해야합니다.

+2

가이되지 않을까 내장 배 또는'? – delnan

+0

@delnan 실제로이 위키는 계몽적이었습니다. python'reduce (function, iterable [, initializer])'가 내가하는 것을하기위한 좀 더 일반적인 방법이다. 이 주석에 대한 tnx! – frnhr

답변

9

any()을 사용하십시오. 그것은 당신이 원하는 것을 수행하는 내장 함수입니다.

+4

http://docs.python.org/library/functions.html#any에 문서화되어 있습니다. 'all()'에 익숙해 져야한다. –

+0

투표 편견의 또 다른 재미있는 예 :이 질문에 대한 세 가지 답변이 모두 동일하지만이 투표는 처음으로 투표로 결정되었으므로 나머지 투표 수는 격렬하게 균형을 이루었습니다. –

+0

@ 글렌 메이 너드 : 글쎄, 실제로는 불과 몇 초 후에도 처음으로 게시되었습니다. 그러나 나는 당신에게 표를 줄 것이다 : –

4
any(tests) 

(그리고 다시 한번 StackOverflow의 최소 응답 길이를 바보처럼 사용자를 취급하고 설정하기 때문에 이것의 나머지는 패딩입니다)`

+0

실제로. [충전재] –

5
any(tests) 

기능 :