Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 any()와 all() 함수 완벽 가이드 – 사용법과 예제 총정리

파이썬은 반복 가능한 객체(iterable)에 대해 "AND"와 "OR" 논리 연산을 수행할 수 있도록 all()any()라는 두 가지 내장 함수를 제공합니다. 이 두 함수는 복잡한 조건문을 한 줄로 간결하게 작성할 수 있게 해주어 실무에서 매우 유용하게 활용됩니다.

파이썬 any() 함수란?

any() 함수는 iterable의 요소 중 하나라도 참(True)이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 단, iterable이 비어 있는 경우에는 False를 반환합니다.

문법

any(iterable)

iterable로는 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dictionary) 등을 사용할 수 있습니다.

예제 1: 리스트 – 하나라도 True인지 확인

>>> mylst = [False, True, False]
>>> x = any(mylst)
>>> x
True

실행 결과: 두 번째 요소가 True이므로 결과는 True입니다.

예제 2: 튜플 – 하나라도 True인지 확인

>>> mytuple = (0, 1, 0, False)
>>> x = any(mytuple)
>>> print(x)
True

예제 3: 세트(Set) – 하나라도 True인지 확인

>>> myset = {0, 1}
>>> x = any(myset)
>>> print(x)
True

예제 4: 딕셔너리 – 키 중 하나라도 True인지 확인

딕셔너리에 any()나 all()을 적용하면 값(value)이 아닌 키(key)를 기준으로 판단합니다.

>>> mydict = {0: "Apple", 1: "Banana"}
>>> x = any(mydict)
>>> print(x)
True

키 1이 참으로 평가되므로 True가 반환됩니다.

any()의 반환값 정리

  • True – iterable의 요소 중 최소 하나라도 참일 때
  • False – 모든 요소가 거짓이거나, iterable이 비어 있을 때
조건반환값
모든 값이 참일 때True
하나 이상의 값이 참일 때True
모든 값이 거짓일 때False
빈 iterable일 때False

파이썬 all() 함수란?

all() 함수는 iterable의 모든 요소가 참(True)일 때만 True를 반환하고, 하나라도 거짓이면 False를 반환합니다. 특히 iterable이 비어 있을 때는 True를 반환한다는 점에 주의해야 합니다.

문법

all(iterable)

예제 1: 리스트 – 모두 True인지 확인

>>> mylst = [True, True, False]
>>> x = all(mylst)
>>> print(x)
False

리스트 안에 False가 하나 포함되어 있기 때문에 결과는 False입니다.

예제 2: 튜플 – 모두 True인지 확인

>>> mytuple = (0, True, False)
>>> x = all(mytuple)
>>> print(x)
False

예제 3: 세트(Set) – 모두 True인지 확인

>>> myset = {True, 1}
>>> x = all(myset)
>>> print(x)
True

예제 4: 딕셔너리 – 모든 키가 True인지 확인

>>> mydict = {0: "Apple", 1: "Banana"}
>>> x = all(mydict)
>>> print(x)
False

키 0은 거짓(False)으로 평가되므로 결과는 False입니다.

all()의 반환값 정리

  • True – iterable의 모든 요소가 참일 때
  • False – iterable의 요소 중 하나라도 거짓일 때
조건반환값
모든 값이 참일 때True
하나라도 거짓인 값이 있을 때False
모든 값이 거짓일 때False
빈 iterable일 때True

any() vs all() 한눈에 비교하기

구분any()all()
논리 연산OR (하나라도 참이면 True)AND (모두 참이어야 True)
빈 iterable 입력 시FalseTrue
주요 용도조건 중 하나라도 만족하는지 검사모든 조건을 만족하는지 검사

이처럼 any()와 all()은 각각 OR, AND 논리를 담당하는 함수로, 반복문 없이도 iterable 전체의 조건을 손쉽게 검사할 수 있습니다. 상황에 맞게 적절히 활용하면 코드를 더욱 간결하고 읽기 좋게 만들 수 있습니다.