2016-07-15 4 views
1

나는 목록이 같은 비어있는 경우 내가 테스트 할 수 있음을 이해빈 목록 및 부울 값은

if l == False: 
    print("empty") 
+1

매우 간단합니다. 'bool ([]) = False' 그러나'[]! = False' – qvpham

+1

@ julivicoit은 Python을 처음 사용하는 사람이라면 간단하지가 않습니다. 요점은 '만약 not l'이 실제로 'l'에서 bool() 변환을 암시 적으로 호출하고 있다는 것입니다. –

+0

@SteveHaigh : U가 맞습니다. 이제 더 이상 내 의견을 수정할 수 없습니다. 미안해! – qvpham

답변

0

는 0을 반환합니다 있도록 l 자체가 list 유형 그래서 항상 False

not l를 반환합니다 부울과 비교된다 부울 표현식입니다은 때로는 l이 비어 있는지 여부에 따라 달라집니다.

>>>l = [] 
    >>>type(l) 
    <type 'list'> 
    >>>l == True 
    False 
    >>>l == False 
    False 
    >>> 
    >>> 
    >>> type(not l) 
    <type 'bool'> 
    >>> (not l) == False 
    False 
    >>> (not l) == True 
    True 
+0

그렇다면'0'과'[]'는 왜 다른가요? 그 타입은'int'이지만'bool'이 아닙니다. –

+0

왜 다른가요? 'not 0'도'True '입니다. –

+0

'0 == False' return'True' –