python IN运算符的语法

亚历克斯

刚开始学习python时,我很容易就掌握了它,但是后来我来到了IN运算符,我正在使用的网站以无法正常工作的方式显示了设置的代码,我已经在互联网上进行了搜索和堆栈但没有提出任何可靠的内容,他们编写的方式使我相信您可以使用此语句检查列表中是否包含多个变量。

if name in ["John", "Rick"]:
    print "Your name is either John or Rick."

但是我还没有在互联网上找到其他地方,该站点上的在线IDE并没有给我带来语法错误,但是无论列表中有什么内容,它始终会返回false:name。

所以我的问题是:上面的代码是有效的python吗?如果是的话,什么使它返回true

卡西米尔水晶

name正如您在注释中所说的那样,您将其定义为列表,因此这是Python的作用:

>>> name = ["John", "Rick" ,"tim", "george"] 
>>> name in ["John", "Rick"]
False
>>> name in ["John", "Rick", ["John", "Rick" ,"tim", "george"]]
True
>>> 

x in y只检查是否有一个 xin的元素y检查中是否有元素,x也都在中y

这就是为什么下面的代码有效,但是上面的代码却无效的原因:

>>> name = 'John'
>>> if name in ["John", "Rick"]:
...     print("Your name is either John or Rick.")
...     
... 
Your name is either John or Rick.
>>> 

在这种情况下,您需要:

>>> if any(i in ["John", "Rick"] for i in name):
...     print("Your name is either John or Rick.")
...     
... 
Your name is either John or Rick.
>>> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章