공부/Python

[Python] all() 함수

순제로 2024. 5. 10. 02:21
728x90

Python의 all() 함수는 반복 가능한(iterable) 모든 요소가 참(True)이면 True를 반환하고, 하나라도 거짓(False)이면 False를 반환합니다. 여기서 "반복 가능한"이란 리스트, 튜플, 딕셔너리, 세트, 문자열 등 Python에서 for 루프를 통해 순회할 수 있는 모든 데이터 타입을 의미합니다. all() 함수는 주로 모든 조건이 충족되는지를 검사할 때 사용됩니다.

all() 함수의 기본 구조

all(iterable)
  • iterable: 반복 가능한 객체로, 모든 요소가 평가됩니다.

all() 함수의 작동 방식

  1. iterable의 모든 요소를 순회합니다.
  2. 모든 요소가 True로 평가되면(또는 iterable이 비어있으면) True를 반환합니다.
  3. 하나라도 False로 평가되는 요소가 있으면 즉시 False를 반환합니다.

Python에서는 0, 빈 문자열(''), 빈 리스트([]), 빈 튜플(()), 빈 딕셔너리({}), None 등이 False로 평가됩니다.

예시

# 모든 요소가 참인 경우
print(all([True, 1, {3}])) # True

# 하나라도 거짓인 요소가 있는 경우
print(all([True, 0, {3}])) # False, 0 때문에

# 빈 iterable인 경우
print(all([])) # True, 빈 iterable은 기본적으로 True를 반환

# 문자열을 사용한 예
print(all(["apple", "banana", ""])) # False, 빈 문자열 때문에

주의사항

  • all() 함수는 입력된 iterable의 모든 요소가 참이어야 True를 반환한다는 점에서 any() 함수와 대비됩니다. any() 함수는 iterable의 요소 중 하나라도 참이면 True를 반환합니다.
  • all() 함수는 첫 번째로 거짓(False)으로 평가되는 요소를 만나면 그 시점에서 검사를 중단하고 False를 반환합니다. 이는 성능 최적화 측면에서 유리합니다.

all() 함수는 복잡한 조건 검사를 간결하게 표현할 수 있게 해주며, Python에서 제공하는 매우 유용한 내장 함수 중 하나입니다.

728x90
반응형