检查列表中是否存在字符串

时间:2020-03-24 20:53:38

标签: python string list memory

我只是想弄清楚为什么即使我几乎是正确的,下面的简单代码也不会返回任何内容:

mike = [1,2,3,3,"error"]

if "error" in mike == True:
    print(True)

这不返回任何内容。为什么?

2 个答案:

答案 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)