논리연산자 관련, 파이썬 내장함수 all()에 대한 질문입니다.
조회수 532회
안녕하세요 코린이입니다.
위의 all()함수는 리스트나 딕셔너리 같은 iterable 타입이면 True를 반환하는 함수입니다.
False를 반환하는 조건이 어떻게 되는지 모르겠어서 질문드립니다.
TypeError: 'int' object is not iterable
iterable이 아닌 타입을 넣으면 위와 같은 Typeerrer를 토해냅니다.
not terator는 무슨 조건인가요..?
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
false를 반환하는 조건
0이거나 "" (빈 문자열)인 경우
a = [1,2,0,4,5] print(all(a)) # False b = "" print(all(b)) # False
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
'iterable 타입이면 True 를 반환하는 함수입니다'
: 아닙니다.- all 함수는 boolean 의 리스트(정확하게는 iterable)가 모두 참이여야 참을 반환하는 함수입니다. 하나라도 거짓이면 함수는 거짓을 반환합니다.
- 이에 반해 any 함수는 boolean 의 리스트 중 아무거나 하나이상 참이면 참을 반환하고, 모두 거짓이면 거짓을 반환하는 함수입니다.
예를 들어보면, 학생들의 성별을 리스트로 가지고 있다고 하면,
별빛반학생성별 = [ "남", "남", "남", "남", "남", "남", "남", "남" ] 별빛반학생남자인가 = [ 성별 == "남" for 성별 in 별빛반학생성별 ] if all(별빛반학생남자인가): print("모두 남자!") else: print("여학생도 있음!")
이런식으로 쓸 수 있습니다.
댓글 입력