반응형

list boolean 판별 all, any

배경

Python의 가장 큰 매력은 있으면 편할 것 같은 내장함수가 많다는 것이다. 종종 여러요소들을 검사할 경우 검사 결과에 대해서 list에 담아서 확인을 하고 싶은 경우가 있다. 경우에 따라 모두 True이어야 하거나 하나라도 True 인 경우가 필요하다면, all()과 any() 내장 함수를 사용하면 된다.

사용 조건은 iterable (반복자 사용가능)으로 즉, 좀 더 쉽게 접근하자면 for in 문 사용이 가능한 list 같은 자료구조에 사용할 수 있다.

 

all()

입력받은 list 인스턴스중 모두다 True 이여야 True 값을 반환한다. 즉, 각 list내의 boolean 값이 각각 and 논리연산을 한 것과 같다.

a = [True, True, True]
b = [True, False, True]
all(a)
# True
all(b)
# False

 

any()

입력받은 list 인스턴스중 하나라도 True이면 True를 반환한다. 각 list내에 boolean 값이 각각 or 논리연산을 한 것과 같다.

a = [False, False, False]
b = [True, False, False]
any(a)
# False
any(b)
# True

 

 

반응형

+ Recent posts