如果是python中的语句

时间:2015-05-10 23:34:28

标签: python

wow = ["wowza this is a really long string wows"]

if "long"  or "is" in wow:
    print("yes")

输出为yes

然而,如果我放入

wow = ["wowza this is a really long string wows"]

if "long" in wow:
print("yes")

输出为nothing

同样:

 wow = ["wowza this is a really long string wows"]

    if "is" in wow:
    print("yes")

为什么?

我认为or应该是其中之一? 但如果单独输入两者都是假的但是or它会变成真的吗?

或者这是写if or statement?

的错误方法

应该这样写吗?

if "long" in wow or "is" in wow:

2 个答案:

答案 0 :(得分:4)

好的,我们在这里有几个不同的问题。

if "long"  or "is" in wow:

这意味着:

if ("long")  or ("is" in wow):

所以是的,您需要将其更改为:

if "long" in wow or "is" in wow:

但是仍然没有做你想要的,因为wow是一个列表。您问的是"long"是否是该列表的元素。但"long"不是列表的元素。列表中唯一的元素是字符串"wowza this is a really long string wows",它与"long"不同。您想要检查字符串本身,而不是列表。

答案 1 :(得分:4)

如何将您的条件发送到交互式提示符(如果有的话,运行python或ipython)以查看它返回的内容?

>>> wow = ["wowza this is a really long string wows"]
>>> "long" in wow
False
>>> "long" or "is" in wow
'long'

您可能想要测试字符串,而不是单个项目列表:

>>> wow = wow[0]
>>> "long" in wow
True
>>> "long" or "is" in wow
'long'
>>> ("long" or "is") in wow
True
>>> wow
'wowza this is a really long string wows'