Python
Python: [False] and [True] # falsy values in python # [False] or [True] # bool
taltal
2023. 12. 2. 13:50
728x90
반응형
[False] and [True]의 결과는 무엇일까?
False? True?
답은 [True]
and 연산은 False 또는 False로 간주되는 값이 나올때까지 다음과 비교한다.
False가 나오지 않는다면 마지막 값을 리턴
[False]는 boolean 타입이 아니라 리스트 타입이다. 따라서 False가 아니라 그다음 [True]를 비교한다.
[True] 역시 list이다. 그 뒤에 확인할 요소가 없으므로 [True]를 반환
추가적인 예시
print([False] and [True])
print([False] and [False])
print([True] and False and True)
print([True] and [] and False)
# [True]
# [False]
# False
# []
3번째의 경우 중간에 False가 나왔기 때문에 뒷 요소까지 보지 않고 False 반환
4번째의 경우 []는 False로 간주되기 때문에 끝까지 보지 않고 [] 나온 순간에 [] 반환
Fasle로 간주되는 값들
None, 0, 0.0, 0j, '', [], (), set(), {}
[]는 False로 간주되는 값이다.
반대로 말하면 빈 리스트가 아니면 True로 간주된다.
or 연산은 True 또는 True로 간주되는 값이 나올 때까지 진행한다.
따라서 [False] and [True]는 [False]를 반환할 것이다. 확인해보자.
print([False] or [True])
print([False] or False)
print([True] or [False])
print(False or [False])
print(False or True)
# [False]
# [False]
# [True]
# [False]
# True
* 비교 연산 참고
728x90
반응형