[Python]all()과 any()

변도진·2024년 6월 2일
0

Python

목록 보기
2/14
post-thumbnail

all과 any라는 함수의 대하여 알아보겠다.

all()

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

any()

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
파이썬에서 제공되는 편리한 기능이기에 상황에 맞추어 잘 사용하도록하자.

참조

https://www.youtube.com/watch?v=ILxU57jX4sA

profile
낚시하고 싶다.

0개의 댓글