[英]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.