Python 检查多个字符串中是否有空字符串
我知道这个问题很基础,但请耐心听我说。假设我们有下面这四个字符串:
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
,这让我很困惑,因为 b
、c
和 d
都不是空的。
if not b or c or d:
return True
这是怎么回事呢?
2 个回答
3
“not”这个运算符的优先级比“or”要高。
return not b or not c or not d
应该可以正常工作。
9
问题出在这一行:
if not b or c or d:
你需要为每个字符串加上“不是”的条件。所以:
if not b or not c or not d:
你也可以这样做:
return '' in [a, b, c, d]