새소식

반응형
Programming Language/Python

[Python] 파이썬 all, any 함수 사용법

  • -
반응형

파이썬에 all 함수는 반복 가능한(Iterable) 객체에서 모든 요소가 참(True)이면 True를 반환하고 any 함수는 하나의 요소라도 참(True)이면 True를 반환한다. 파이썬은 이런 기능들로 프로그래머로 하여금 코드를 작성하는데 편의를 제공하는 기능들이 많은 거 같다. 다른 언어에도 위와 같은 기능이 있는지는 필자도 확인을 해봐야 할 거 같지만 파이썬에서는 확실히 저런 편리한 기능들이 많이 존재한다.
 

1. all() 함수


먼저 all() 함수의 내부 코드를 살펴보면 함수의 내부 구조는 다음과 같이 정의돼 있는 걸 확인할 수 있다.

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

all 함수의 내부 구조를 살펴보면 매개변수로 주어진 iterable에서 하나의 요소라도 False라면 False를 반환하게 된다.
 
다음은 all() 함수의 특징이다, 위에서 all() 함수의 내부 구조를 살펴본 다음 아래 특징들을 살펴보자.

특징 특징 내용
모든 요소가 참일 때 True 반환 all() 함수는 주어진 반복 가능한(iterable) 객체 내의 모든 요소가 참(True)인 경우에만 True를 반환한다. 모든 요소가 거짓(False)이거나 비어있는 경우 True가 반환되며, 하나라도 거짓인 경우에만 False가 반환된다.
빈 iterable에 대한 처리 빈 iterable 객체에 대해서도 all() 함수는 True를 반환한다. 왜냐하면 아무 요소도 없으므로 거짓 요소가 없는 것으로 간주된다.
논리적 검사 all() 함수는 주어진 iterable 객체 내의 요소를 논리적으로 검사하며, 요소가 참 또는 거짓으로 간주되는 조건에 따라 결과를 결정한다. 이것은 모든 요소가 조건을 만족해야 하는 상황에서 유용하다.
다양한 사용 사례 all() 함수는 다양한 사용 사례에 적용될 수 있다. 예를 들어, 리스트 내에서 모든 요소가 특정 조건을 만족하는지 확인하거나, 문자열 리스트에서 모든 문자열이 특정 패턴을 따르는지 확인하는데 사용할 수 있다.

 
 
예시 코드 1

# 문자열 리스트에서 모든 문자열이 특정 길이보다 긴지 확인
string_list = ["apple", "banana", "cherry", "date"]
min_length = 3
result = all(len(s) >= min_length for s in string_list)
print(result)  # True, 모든 문자열이 길이 3 이상임

위의 코드에서 all() 함수는 문자열 리스트 내의 모든 문자열이 특정 길이 이상인지 확인하고 True를 반환한다.
 
예시 코드 2

# 숫자 리스트에서 모든 숫자가 짝수인지 확인
numbers = [2, 4, 6, 8, 10]
result = all(num % 2 == 0 for num in numbers)
print(result)  # True, 모든 숫자가 짝수임

숫자 리스트 내의 모든 숫자가 짝수인지 확인하고 True를 반환한다.
 
 
위의 코드에서 all() 함수의 매개변수는 iterable 객체로 리스트, 튜플, 세트, 문자열 등의 반복 가능한 자료형이 여야 한다
 
all() 함수는 사용할 때 본인이 iterable 객체를 순회하면서 원하는 조건을 설정하여 그 조건에 따라 True 혹은 False를 반환하게 할 수 있다.
 
 

2. any() 함수


any() 함수도 마찬가지로 먼저 파이썬 공식 홈페이지에서 제공하는 내부 코드를 살펴보자.

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

any() 함수는 매개변수로 주어진 iterable 객체의 요소가 단 하나라도 True일 경우 True를 반환한다는 사실을 알 수 있다.
 
위의 예시 코드를 보며 다음의 any() 함수의 특징을 한 번 살펴보자.

특징 특징 내용
어떤 요소라도 참일 때 True 반환 any() 함수는 주어진 반복 가능한(iterable) 객체 내에서 하나 이상의 요소가 참(True)인 경우에만 True를 반환한다. 즉, 모든 요소가 거짓(False)이더라도, 단 하나의 참 요소만 있어도 True가 반환된다.
빈 iterable에 대한 처리 빈 iterable 객체에 대해서도 any() 함수는 False를 반환한다. 왜냐하면 아무 요소도 없으므로 참 요소가 없는 것으로 간주된다.
논리적 검사 any() 함수는 주어진 iterable 객체 내의 요소를 논리적으로 검사하며, 요소가 참 또는 거짓으로 간주되는 조건에 따라 결과를 결정한다. 이것은 여러 요소 중 하나가 조건을 만족하면 된다는 상황에서 유용하다.
다양한 사용 사례 any() 함수는 다양한 사용 사례에 적용할 수 있다. 예를 들어, 리스트 내에서 어떤 요소가 특정 조건을 만족하는지 확인하거나, 문자열 리스트에서 비어있지 않은 문자열이 하나 이상 있는지 확인하는데 사용할 수 있다.

 
예시 코드 1

# 문자열 리스트에서 하나 이상의 비어있지 않은 문자열이 있는지 확인
string_list = ["apple", "", "banana", "cherry"]
result = any(s != "" for s in string_list)
print(result)  # True, "apple", "banana", "cherry" 중 하나 이상의 문자열이 비어있지 않음

위의 코드에서 any() 함수는 문자열 리스트 내에서 하나 이상의 문자열이 비어있지 않은지 확인하고 True를 반환한다.
 
 
예시 코드 2

# 숫자 리스트에서 하나 이상의 양수가 있는지 확인
numbers = [-1, 0, 2, 4, -3]
result = any(num > 0 for num in numbers)
print(result)  # True, 2와 4는 양수임

숫자 리스트 내에서 하나 이상의 양수가 있는지 확인하고 True를 반환한다.
 
 

3. 정리


1. all() 함수

• all() 함수는 주어진 반복 가능한(iterable) 객체 내의 모든 요소가 참(True)인지 여부를 확인하는 데 사용된다.
• 모든 요소가 참일 때만 True를 반환하고, 그렇지 않으면 False를 반환한다.
• 주로 모든 요소가 특정 조건을 만족하는지 검사할 때 사용된다.
 

2. any() 함수

• any() 함수는 주어진 반복 가능한(iterable) 객체 내에서 어떤 요소라도 참(True)인지 여부를 확인하는 데 사용된다.
• 하나 이상의 요소가 참일 때 True를 반환하고, 모든 요소가 거짓이면 False를 반환한다.
• 주로 하나 이상의 요소가 특정 조건을 만족하는지 검사할 때 사용된다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.