我有一个包含一些值的列表,现在我想检查它是否为空字符串和Null值。所以我使用下面的代码相同,但输出不正确。 在检查''空字符串时,输出为``不好'' 对于'Null'值,它可以正常工作,但对于'空值,则不考虑使用它。 任何帮助将不胜感激。
y=['','']
if ('Null' or '') in y:
print ('nice')
else:
print('not nice')
答案 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