2016-03-02 473 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:

相关问题