[Python] 내장함수 all과 any

재키·2020년 4월 25일
0

파이썬프로그래밍

목록 보기
1/1

파이썬의 내장함수 all과 any에 대해서 간단히 살펴보고 참고할 만한 것을 적는다.

all

all(x)은 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며, 이 x의 모든 요소가 참이면 True, 거짓이 하나라도 있으면 False를 리턴한다.

>>> all([1,2,3])
True
>>> all([1,2,3,0])
False

리스트 자료형 [1,2,3,0] 중에서 요소 0은 거짓이므로 False를 리턴한다.

any

any(x)는 x 중 하나라도 참이 있을 경우 True를 리턴하고, x가 모두 거짓일 경우에만 False를 리턴한다. all(x)의 반대 경우라고 할 수 있다.

>>> any([1,2,3,0])
True
>>> any([0, ""]
False

참고할 만한 것

위의 사실을 참고할 때, all([])과 any([])는 각기 어떤 값을 리턴할 것으로 예상되는가? 빈 리스트는 False이기 때문에 둘 다 False를 리턴할 것이라고 필자는 예상했다. 그러나 실제로 실행해본 결과, 예상과 달라 신기했다.

>>> all([])
True
>>> any([])
False

파이썬 내장함수인 all() 과 any() 코드를 살펴보니 위의 결과가 납득이 되었다.

def all(iterable):
	for element in iterable:
		if not element:
        		return False
	return True
    
def any(iterable):
	for element in iterable:
		if element:
			return True
	return False

위의 코드를 볼 때, 빈 리스트인 []는 iterable 하지만 for 문을 돌지 않는다. 따라서 all([])은 True를, any([])는 False를 리턴하는 듯 하다.

	
profile
기초를 탄탄히!

0개의 댓글