Python检查多个字符串中是否有空字符串

时间:2014-05-07 01:32:13

标签: python string if-statement

我知道这是一个基本问题,但请耐心等待。假设我们下面有4个字符串:

a = ''
b = 'apple'
c = 'orange'
d = 'banana'

所以,通常如果我想检查三个字符串a b c中的任何一个是否为空,我可以使用len()函数。

if len(a) == 0 or len(b) == 0 or len(c) == 0:
    return True

但是后来我觉得如果我有很多字符串就像上面这样写太麻烦了。所以,我用了

if not a:
    return True

但是,当我使用上述方法检查多个字符串b c d时,它返回True并且我感到困惑的是字符串{{ 1}} b c为空。

d

发生了什么事?

2 个答案:

答案 0 :(得分:7)

问题出在这一行:

if not b or c or d:

你需要包含" not"每个字符串的条件。所以:

if not b or not c or not d:

你也可以这样做:

    return '' in [a, b, c, d]

答案 1 :(得分:2)

not运算符的值高于precedence或。

return not b or not c or not d

应该有用。