[Python] any function
Python의 Built-in Function 중 any를 살펴보겠습니다.
첨부한 사진은 3.8버전 문서이지만 파이썬 2~~ 버전도 제공하는 fuction입니다.
any는 iterable 객체를 받으며
iterable의 element 중 하나라도 true 라면 true를 반환합니다.
true가 하나도 없다면 false를 반환합니다.
만약 iterable이 empty여도 false를 반환합니다.
(참고로 iterable의 의미는 element를 하나씩 차례로 반환 가능한 object를 말하며
list, tuple, dictionary 등이 있습니다.)
[ 간단 예제 ]
간단한 예제를 살펴보겠습니다. (출처: www.w3schools.com/python/ref_func_any.asp)
# List
list 중 두번째 element가 True니까
출력결과가 True임을 볼 수 있습니다.
mylist = [False, True, False]
x = any(mylist)
print(x)
// 결과
True
element 중 True가 하나도 없거나
list가 empty일 때는 출력결과가 False 인 것을 볼 수 있습니다.
mylist = [False, False, False]
x = any(mylist)
print(x)
// 결과
False
mylist = []
x = any(mylist)
print(x)
// 결과
False
# Tuple
tuple 중 두번째 element가 True(1) 니까
출력결과가 True임을 볼 수 있습니다.
mytuple = (0, 1, False)
x = any(mytuple)
print(x)
// 결과
// True
# Set
set도 마찬가지 입니다.
myset = {0, 1, 0}
x = any(myset)
print(x)
// 결과
True
# 딕셔너리
딕셔너리의 경우, any function은 keys만 체크합니다. (⚠️values는 체크안함⚠️)
key값 중 true가 하나도 없으니까 결과는 false
mydict = {0 : "사과", 0 : "당근"}
x = any(mydict)
print(x)
// 결과
False
key값 중 두번째가 true이므로 결과는 true
mydict = {0 : "사과", 1 : "당근"}
x = any(mydict)
print(x)
// 결과
True
dict이 empty일때 결과는 false
mydict = {}
x = any(mydict)
print(x)
// 결과
False
하지만 any function이 values는 체크안하는 것을 확인할 수 있죠..?
다 True가 나옵니다..😬
mydict = {"사과" : 0, "당근" : 1}
x = any(mydict)
print(x)
// 결과
True
mydict = {"사과" : 0, "당근" : 0}
x = any(mydict)
print(x)
// 결과
True
[ 실전 예제 ]
어떤 string이 number를 contains 하고 있는 지 체크할 때 사용할 수 있습니다.
test_str = 'jordy'
contain_number = any([chr.isdigit() for chr in test_str])
print(contain_number)
// 결과
False
test_str = 'jordy 1 2 3 4'
contain_number = any([chr.isdigit() for chr in test_str])
print(contain_number)
// 결과
True
Reference
www.geeksforgeeks.org/python-check-if-string-contains-any-number/
Python - Check if string contains any number - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org