繁体   English   中英

如何在 python 中使用带有“或”运算符的“if 语句”

[英]How to use 'if statement' with 'or' operator in python

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

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

更新:


由于取决于优先级,整个情况都会发生变化。 让我们有两个场景:

第一的:

如果您的列表包含y = [' ', ' '] ,请访问参考: 检查空字符串的优雅方法,然后尝试;

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 语句中的操作将按如下方式工作:

If 'Null' in y or If ' ' in y or If 'None' in y, 然后打印 if 语句中的任何内容。

如果优先级有问题可以在这里详细了解。 优先关联

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

试试下面的代码。

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

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

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

现在在or的任一侧都有一个 Boolean 表达式,因此它将正确评估。

您可以尝试以下方法:

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

Nice
Not nice
Nice

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM