달나라 노트

Python Basic : any, all 본문

Python/Python Basic

Python Basic : any, all

CosmosProject 2022. 1. 20. 20:03
728x90
반응형

 

 

 

Python의 빌트인 함수인 any, all method를 알아봅시다.

 

any, all method를 간략하게 정리해보면 아래와 같습니다.

any : 전달받은 요소 중 하나 이상이 True일 경우 True return. (모든 요소가 False인 경우 False return)

all : 전달받은 요소 전부가 True일 경우 True return. (하나라도 False가 있을 경우 False return)

 

또한 any, all method의 주의점은 list나 tuple같은 반복 가능한(iterable) 데이터를 parameter로서 받는다는 것입니다.

 

 

다음 예시를 보시죠.

print(any([True, True]))   # Result --> True
print(any([True, False]))  # Result --> True
print(any([False, True]))  # Result --> True
print(any([False, False])) # Result --> False

print(all([True, True]))   # Result --> True
print(all([True, False]))  # Result --> False
print(all([False, True]))  # Result --> False
print(all([False, False])) # Result --> False

any, all method에 list를 전달하였고, 각각의 list는 True, False 값을 포함하고 있습니다.

 

any를 먼저 보면 list 속에 True가 하나라도 있으면 True를 return하고,

False만 존재하는 list는 False를 return합니다.

 

반대로 all을 보면 list 속에 False가 하나라도 있으면 False를 return하고,

list 속에 True만 존재해야 True를 return합니다.

 

 

 

 

 

print(any((True, True)))   # Result --> True
print(any((True, False)))  # Result --> True
print(any((False, True)))  # Result --> True
print(any((False, False))) # Result --> False

print(all((True, True)))   # Result --> True
print(all((True, False)))  # Result --> False
print(all((False, True)))  # Result --> False
print(all((False, False))) # Result --> False

any, all method에는 iterable 데이터를 전달하면 되기 때문에 tuple을 전달해도 동일한 결과가 나옵니다.

 

 

 

 

print(any([True, True, True]))     # --> True
print(any([True, True, False]))    # --> True
print(any([True, False, False]))   # --> True
print(any([False, False, False]))  # --> False

print(all([True, True, True]))     # --> True
print(all([True, True, False]))    # --> False
print(all([True, False, False]))   # --> False
print(all([False, False, False]))  # --> False

iterable 데이터 속에 요소가 몇개가 있건 상관없습니다.

any는 하나라도 True값이 존재하는 이상 True를 return하며

all은 모든 값이 True여야만 True를 return합니다.

 

 

 

 

 

 

728x90
반응형
Comments