3
我對all()運算符的理解是,如果全部 iterable的元素返回true值,它將返回true。要麼我完全誤解了它的功能,要麼就是不完全正確:Python all([6,7,8,9])= True。但是6 = False
>>> all([0, 7, 8, 9])
False
>>> all([6, 7, 8, 9])
True
>>> any([0, 7, 8, 9])
True
>>> 0 == True
False
>>> 1 == True
True
>>> 6 == True
False
>>> 7 == True
False
這是怎麼回事?
編輯 好吧,我得到了很多答案,解釋爲0是錯誤的。我明白了。 0 =假,1 =真。 我的問題是,6返回False,但作爲列表的一部分測試時,它返回爲true?
>>> all([6, 7, 8, 9])
True
>>> 6 == True
False
這是我沒有得到的位?
看到'布爾(6)'。 –
正確和錯誤具有0和1 IIRC的序數值。因此,這種行爲。如果你想解釋爲bool,然後使用,例如'布爾(6)' –
對我來說這樣太倉促了。檢查我:你真正要問的是,'6'和'7'看起來是'False',那麼爲什麼第二個表達式是'True'。如果是這樣,答案是非零整數在布爾上下文中評估爲「真」;但是當你測試'6 == True'時,這個整數沒有被強制爲一個布爾類型,所以你正在測試'6 == 1',這是'False'。 –