티스토리 뷰

🐍/Python

[Python] any function

eungding 2021. 5. 5. 12:37
반응형

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

 

 

반응형
댓글