我只是想弄清楚为什么即使我几乎是正确的,下面的简单代码也不会返回任何内容:
mike = [1,2,3,3,"error"]
if "error" in mike == True:
print(True)
这不返回任何内容。为什么?
答案 0 :(得分:3)
这是operator chaining的结果,该结果适用于比较运算符in, not in, is, is not, <, <=, >, >=, !=, ==
。所以
'error' in mike == True
实际评估为:
'error' in mike and mike == True
后者是错误的。运算符链接对于0 < x < 5
之类的东西更有用。
您可能只想
'error' in mike
答案 1 :(得分:2)
您可以按想要的顺序强制使用括号进行评估:
if ("error" in mike) ==True:
print(True)
或者,更Python化地:
if "error" in mike:
print(True)