all() 함수와 any() 함수는 파이썬의 내장 함수로, 둘 다 하나 이상의 불리언(bool) 값을 받아서 해당 값들의 집합에 대한 조건을 검사하여 결과를 반환합니다.
1. all()
all() 함수는 인자로 받은 iterable의 모든 요소가 참이면(True) True를 반환하고, 그렇지 않으면 False를 반환합니다. iterable은 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dict) 등의 컨테이너 자료형이 올 수 있습니다.
# all() 함수 예제
lst1 = [True, True, True]
lst2 = [True, False, True]
print(all(lst1)) # True
print(all(lst2)) # False
2. any()
any() 함수는 인자로 받은 iterable 중에서 하나 이상의 요소가 참이면(True) True를 반환하고, 모든 요소가 거짓이면(False) False를 반환합니다.
# any() 함수 예제
lst1 = [False, False, False]
lst2 = [True, False, True]
print(any(lst1)) # False
print(any(lst2)) # True
all()과 any() 함수는 불리언 값 외에도, 다른 값들을 인자로 받을 수 있습니다. 이 경우, 값이 0이면 False로 간주되고, 0이 아닌 값은 True로 간주됩니다. 하지만 주로 불리언 값에 대한 조건 검사에 사용됩니다.
3. 예제 코드
all()과 any() 함수는 프로그래밍에서 조건 검사에 매우 유용합니다. 예를 들어, 리스트나 딕셔너리와 같은 컨테이너 자료형의 요소들이 조건에 부합하는지 검사해야 하는 경우에 사용할 수 있습니다.
예를 들어, 리스트에 있는 모든 요소가 양수인지 검사해야 할 때, all() 함수를 사용할 수 있습니다.
lst = [1, 2, 3, 4, 5]
if all(x > 0 for x in lst):
print("모든 요소가 양수입니다.")
else:
print("음수가 있습니다.")
또 다른 예로, 리스트에 있는 요소 중에서 하나 이상의 요소가 10 이상인지 검사해야 할 때, any() 함수를 사용할 수 있습니다.
lst = [1, 2, 3, 4, 5]
if any(x >= 10 for x in lst):
print("10 이상의 요소가 있습니다.")
else:
print("10 이상의 요소가 없습니다.")
이처럼 all()과 any() 함수는 조건 검사를 간편하게 할 수 있는 매우 유용한 도구입니다.
'개념' 카테고리의 다른 글
[Python] 리스트 컴프리헨션 (list comprehension) (0) | 2023.03.14 |
---|---|
[파이썬] 코사인 유사도 (Cosine Similarity) 예제 코드 (0) | 2023.03.13 |
[파이썬] 네임 맹글링 (name mangling) (0) | 2023.03.11 |
[파이썬] 매직 메소드란 (0) | 2023.03.11 |
[파이썬] BFS 예제 코드 (0) | 2023.03.11 |