如何在Python中将'if语句'与'or'运算符一起使用

时间:2019-11-11 06:03:50

标签: python python-3.x

我有一个包含一些值的列表,现在我想检查它是否为空字符串和Null值。所以我使用下面的代码相同,但输出不正确。 在检查''空字符串时,输出为``不好'' 对于'Null'值,它可以正常工作,但对于'空值,则不考虑使用它。 任何帮助将不胜感激。

y=['','']
if ('Null' or '') in y:
    print ('nice')
else:
    print('not nice')

4 个答案:

答案 0 :(得分:3)

已更新:


根据情况的不同,整个情况都会发生变化。 让我们有两种情况:

第一

如果您列出的包含y = [' ', ' '],请访问参考文献:elegant way to check empty string,然后尝试;

y = ['', '']

if '' in y:
    print("nice")

else:
    print("Not Nice")

第二:

如果您的列表中包含诸如y = [' ', ' ', 'Null', 'None']之类的元素,则只需尝试以下操作:

y = ['', '', 'Null', 'None']

if 'Null' in y or ' ' in y or 'None' in y:
    print("nice")

else:
    print("Not Nice")

现在,if语句中的操作将按以下方式工作:

  

如果y中为'Null',或者y中为'',或者y中为'None',则在if中打印任何内容   声明。

如果优先级有问题,您可以在此处详细了解。 Precedence Associations

请记住,Python中的None也代表Null值。有关更多详细信息,请访问参考: what-is-the-none-keyword-in-python

答案 1 :(得分:-1)

尝试以下代码。

y = ['', '']
if 'Null' in y or '' in y:
    print('nice')
else:
    print('not nice')

答案 2 :(得分:-1)

or计算两个布尔表达式。对于您的情况,首先评估括号中的语句,然后评估in。这导致if语句被解释为false。您不需要使用括号。只需这样做:

if 'Null' in y or '' in y:

or的两边现在都有一个布尔表达式,因此它将正确求值。

答案 3 :(得分:-2)

您可以尝试以下操作:

a = ["Hello","","World"]
for words in a:
    if (words):
        print ("Nice")
    else:
        print("Not nice")

Nice
Not nice
Nice