본문 바로가기
Python

[Python] any() / all() 함수 활용하기

by teamnova 2025. 9. 21.
728x90

안녕하세요

오늘은 파이썬 내장함수 any() / all() 함수에 대해 알아보도록 하겠습니다.

 

파이썬에는 조건식을 훨씬 깔끔하게 쓸 수 있는 내장 함수 any() 와 all() 이 있습니다.
이 두 함수는 리스트나 튜플 같은 반복 가능한(iterable) 자료형을 받아서, 내부 요소들의 참/거짓 여부를 간단하게 검사해줍니다.

 

1. any()

  • 의미: 하나라도 참(True)이면 True
  • 즉, "조건을 만족하는 게 하나라도 있냐?" 라고 묻는 느낌입니다.
nums = [1, 3, 5, 7]

# 하나라도 짝수가 있나?
has_even = any(n % 2 == 0 for n in nums)
print("짝수가 있나요?", has_even)  # False

nums2 = [1, 3, 4, 7]
has_even2 = any(n % 2 == 0 for n in nums2)
print("짝수가 있나요?", has_even2)  # True

 

2. all()

  • 의미: 모두가 참(True)이어야 True
  • 즉, "조건을 모두 만족하냐?" 라고 묻는 느낌입니다.
nums = [2, 4, 6, 8]

# 모든 숫자가 짝수인가?
all_even = all(n % 2 == 0 for n in nums)
print("모두 짝수인가요?", all_even)  # True

nums2 = [2, 4, 7, 8]
all_even2 = all(n % 2 == 0 for n in nums2)
print("모두 짝수인가요?", all_even2)  # False

 

 

 

이를 활용하여, 비밀번호 검증을 예시로 작성해보도록 하겠습니다.

password = "abc123"

# 비밀번호가 모두 숫자로만 되어있는가?
only_digits = all(ch.isdigit() for ch in password)
print("모두 숫자?", only_digits)  # False

# 비밀번호 안에 숫자가 하나라도 포함되어 있는가?
has_digit = any(ch.isdigit() for ch in password)
print("숫자 포함?", has_digit)  # True

 

 

이처럼 조건 검사를 if 문으로 길게 쓰는 대신, 

any() / all() 를 활용하면, 간단하게 표현할 수 있습니다.