파이썬에 all 함수는 반복 가능한(Iterable) 객체에서 모든 요소가 참(True)이면 True를 반환하고 any 함수는 하나의 요소라도 참(True)이면 True를 반환한다. 파이썬은 이런 기능들로 프로그래머로 하여금 코드를 작성하는데 편의를 제공하는 기능들이 많은 거 같다. 다른 언어에도 위와 같은 기능이 있는지는 필자도 확인을 해봐야 할 거 같지만 파이썬에서는 확실히 저런 편리한 기능들이 많이 존재한다.
1. all() 함수
먼저 all() 함수의 내부 코드를 살펴보면 함수의 내부 구조는 다음과 같이 정의돼 있는 걸 확인할 수 있다.
all 함수의 내부 구조를 살펴보면 매개변수로 주어진 iterable에서 하나의 요소라도 False라면 False를 반환하게 된다.
다음은 all() 함수의 특징이다, 위에서 all() 함수의 내부 구조를 살펴본 다음 아래 특징들을 살펴보자.
특징 |
특징 내용 |
모든 요소가 참일 때 True 반환 |
all() 함수는 주어진 반복 가능한(iterable) 객체 내의 모든 요소가 참(True)인 경우에만 True를 반환한다. 모든 요소가 거짓(False)이거나 비어있는 경우 True가 반환되며, 하나라도 거짓인 경우에만 False가 반환된다. |
빈 iterable에 대한 처리 |
빈 iterable 객체에 대해서도 all() 함수는 True를 반환한다. 왜냐하면 아무 요소도 없으므로 거짓 요소가 없는 것으로 간주된다. |
논리적 검사 |
all() 함수는 주어진 iterable 객체 내의 요소를 논리적으로 검사하며, 요소가 참 또는 거짓으로 간주되는 조건에 따라 결과를 결정한다. 이것은 모든 요소가 조건을 만족해야 하는 상황에서 유용하다. |
다양한 사용 사례 |
all() 함수는 다양한 사용 사례에 적용될 수 있다. 예를 들어, 리스트 내에서 모든 요소가 특정 조건을 만족하는지 확인하거나, 문자열 리스트에서 모든 문자열이 특정 패턴을 따르는지 확인하는데 사용할 수 있다. |
예시 코드 1
위의 코드에서 all() 함수는 문자열 리스트 내의 모든 문자열이 특정 길이 이상인지 확인하고 True를 반환한다.
예시 코드 2
숫자 리스트 내의 모든 숫자가 짝수인지 확인하고 True를 반환한다.
위의 코드에서 all() 함수의 매개변수는 iterable 객체로 리스트, 튜플, 세트, 문자열 등의 반복 가능한 자료형이 여야 한다
all() 함수는 사용할 때 본인이 iterable 객체를 순회하면서 원하는 조건을 설정하여 그 조건에 따라 True 혹은 False를 반환하게 할 수 있다.
2. any() 함수
any() 함수도 마찬가지로 먼저 파이썬 공식 홈페이지에서 제공하는 내부 코드를 살펴보자.
any() 함수는 매개변수로 주어진 iterable 객체의 요소가 단 하나라도 True일 경우 True를 반환한다는 사실을 알 수 있다.
위의 예시 코드를 보며 다음의 any() 함수의 특징을 한 번 살펴보자.
특징 |
특징 내용 |
어떤 요소라도 참일 때 True 반환 |
any() 함수는 주어진 반복 가능한(iterable) 객체 내에서 하나 이상의 요소가 참(True)인 경우에만 True를 반환한다. 즉, 모든 요소가 거짓(False)이더라도, 단 하나의 참 요소만 있어도 True가 반환된다. |
빈 iterable에 대한 처리 |
빈 iterable 객체에 대해서도 any() 함수는 False를 반환한다. 왜냐하면 아무 요소도 없으므로 참 요소가 없는 것으로 간주된다. |
논리적 검사 |
any() 함수는 주어진 iterable 객체 내의 요소를 논리적으로 검사하며, 요소가 참 또는 거짓으로 간주되는 조건에 따라 결과를 결정한다. 이것은 여러 요소 중 하나가 조건을 만족하면 된다는 상황에서 유용하다. |
다양한 사용 사례 |
any() 함수는 다양한 사용 사례에 적용할 수 있다. 예를 들어, 리스트 내에서 어떤 요소가 특정 조건을 만족하는지 확인하거나, 문자열 리스트에서 비어있지 않은 문자열이 하나 이상 있는지 확인하는데 사용할 수 있다. |
예시 코드 1
위의 코드에서 any() 함수는 문자열 리스트 내에서 하나 이상의 문자열이 비어있지 않은지 확인하고 True를 반환한다.
예시 코드 2
숫자 리스트 내에서 하나 이상의 양수가 있는지 확인하고 True를 반환한다.
3. 정리
1. all() 함수
• all() 함수는 주어진 반복 가능한(iterable) 객체 내의 모든 요소가 참(True)인지 여부를 확인하는 데 사용된다.
• 모든 요소가 참일 때만 True를 반환하고, 그렇지 않으면 False를 반환한다.
• 주로 모든 요소가 특정 조건을 만족하는지 검사할 때 사용된다.
2. any() 함수
• any() 함수는 주어진 반복 가능한(iterable) 객체 내에서 어떤 요소라도 참(True)인지 여부를 확인하는 데 사용된다.
• 하나 이상의 요소가 참일 때 True를 반환하고, 모든 요소가 거짓이면 False를 반환한다.
• 주로 하나 이상의 요소가 특정 조건을 만족하는지 검사할 때 사용된다.