2016-07-15 12 views
1

私は、リストがこのような空の場合、私がテストできることを理解空のリストとブール値は

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

非常に簡単です。 'bool([])= False'でも' []!= False' – qvpham

+1

@ julivicoitはあなたがPythonを初めて使い慣れていれば簡単ではありません。要点は、 '' not l''が実際に '' l''のbool()変換を暗黙的に呼び出すことです。 –

+0

@SteveHaigh:Uが正しいです。今私は自分のコメントを編集することはできません。これは申し訳ありません! – qvpham

答えて

0

l自体はlistタイプなのでブール値と比較すると常にFalse

not lがブール式なので0を返しますは場合によっては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' –

関連する問題