all과 any라는 함수의 대하여 알아보겠다.
all은 순회 가능한 모든 인자에 and연산을 하는 것과 같다.
arr1 = [True, True] # True and True는 True이다.
arr2 = [True, False] # True and False는 False이다.
arr3 = [False, False] # False and False는 False이다.
print(all(arr1))
print(all(arr2))
print(all(arr3))
True
False
False
all은 순회 가능한 모든 인자에 or연산을 하는 것과 같다.
arr1 = [True, True] # True or True는 True이다.
arr2 = [True, False] # True or False는 True이다.
arr3 = [False, False] # False or False는 False이다.
print(any(arr1))
print(any(arr2))
print(any(arr3))
True
True
False
genarator를 인자로 줄 수 있다.
print(all(True for i in range(5)))
True
또한 and와 or연산이기에
and 연산 중 False나 or 연산 중 True가 나오면 뒤 연산을 진행하지 않고 값을 반환한다.
def f(bool):
print(f"| in {bool} |", end="")
return bool
print("\nall -> ", all(f(True) for _ in range(5)))
print("\nall -> ", all(f(False) for _ in range(5)))
print("\nany -> ", any(f(True) for _ in range(5)))
print("\nany -> ", any(f(False) for _ in range(5)))
| in True || in True || in True || in True || in True |
all -> True
| in False | # 5번 반복하지 않고 중단되었다.
all -> False
| in True |
any -> True
| in False || in False || in False || in False || in False |
any -> False # 5번 반복하지 않고 중단되었다.
all -> and
any -> or
파이썬에서 제공되는 편리한 기능이기에 상황에 맞추어 잘 사용하도록하자.