코딩 연습

(파이썬) Python 내장함수 all 본문

Python

(파이썬) Python 내장함수 all

코딩아저씨 2017. 3. 24. 01:38
반응형

파이썬의 내장함수 all 은 다음과 같다.

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

함수 all 은 매개변수로 iterable (리스트, 튜플, 딕셔너리 등등) 를  갖는다.

함수 all 은 iterable 내의 모든 요소가 참이거나 혹은 iterable 이 비어 있다면 True 를 반환하고, 그 외의 경우에는 False 를 반환하는 함수이다. 즉, iterable 내의 요소 중 단 하나라도 거짓인 경우에는 False 를 반환한다.


파이썬에서는 0을 False 로 1은 True 로 인식한다. 다음의 예제를 보면 쉽게 이해할 수 있다.

>>> all([])
True
>>> all([1, 2, 3, 4])
True
>>> all([0, 1, 2, 3])
False

빈 리스트(empty list)에 대해서는 True 를 반환하고, [1, 2, 3, 4]에 대해서는 True, [0, 1, 2, 3] 에 대해서는 False 를 반환한다. 

python 에서 숫자 0은 false 로 인식하지만 문자 '0' 은 True 로 인식한다.

>>> all(['0'])
True

물론 문자열 역시 True 로 인식한다.

>>> all('0')
True
>>> all('Hello, World')
True
>>> all('')
True

딕셔너리에 대해서는 key 값의 참, 거짓만을 반영하여 True를 반환할지 False 를 반환할지 결정한다.

>>> all({1: True, 2: False})
True
>>> all({True: 1, False: 2})
False
>>> all({1: 0, 2: 1})
True
>>> all({0: 1, 1: 2})
False


반응형

'Python' 카테고리의 다른 글

(파이썬) numpy.amax  (0) 2017.03.25
(파이썬) numpy.arange  (0) 2017.03.25
(파이썬) functools 모듈의 reduce 함수  (0) 2017.03.23
(파이썬) Python 내장함수 enumerate  (0) 2017.03.22
(파이썬) itertools 모듈의 takewhile 함수  (0) 2017.03.22


Comments