2016-03-02 474 views
-1

假設我在Shell中輸入了這個值,那麼我就是True。Python:爲什麼「2 in [1,2,3] == True」返回False?

>>>ar=[2,4,6,8] 
>>>2 in ar 
True 

但是當我嘗試使用這個,這是行不通的

>>>if 2 in ar==True: 
     print("YES") 

>>> 
>>> 

它不工作! if條件是False。我能做些什麼來檢查一個詞是否在循環列表中? 例如:我給了一些隨機列表,我必須打印出列表中的所有偶數。

+1

您不需要'== True',只需使用'if 2 in ar' – gtlambert

回答

6

這是因爲與比較運算符相比,x operator1 y operator2 z相當於(x operator1 y) and (y operator2 z),只是y只進行一次評估。因此2 in ar == True相當於(2 in ar) and (ar == True)ar == True爲False,因此if塊未執行。只需在2 in ar附近加上括號即可:if (2 in ar) == True:儘管如此,您確實不需要== True。只要做if 2 in ar:

相關問題