如何检查列表是否有空字符串

时间:2014-05-22 18:10:13

标签: python string list

假设我有一个列表['', 'Tom', 'Jane', 'John', '0'],我写了以下内容以检查它是否有空字符串''

if any('' in s for s in row[1:]):
        print "contains empty string, continue now"
        continue

我希望这只能选择空字符串,但这也会选择包含' 0'的列表。 ' 0' 0字符串有效,我不想过滤掉它。那么如何在python列表中检查空字符串呢?

5 个答案:

答案 0 :(得分:6)

您可以检查列表中是否有元素''

if '' in lst:
     # ...

if '' in lst[:1]:  # for your example
     # ...

以下是一个例子:

>>> lst = ['John', '', 'Foo', '0']
>>> lst2 = ['John', 'Bar', '0']
>>> '' in lst
True
>>> '' in lst2
False

答案 1 :(得分:3)

any('' in s for s in row[1:])

为列表s中的每个字符串row[1:]检查空字符串是否为其子字符串。这总是正确的,琐碎的。你的意思是

any(s == '' for s in row[1:])

但这可以缩写为

'' in row[1:]

答案 2 :(得分:3)

而不是使用:

if any('' in s for s in row[1:]):

将您的状况改为:

if '' in your_list:

其中 your_list 是您正在检查的列表名称。

答案 3 :(得分:2)

让我们举个例子,给名单命名:

list = ['', 'Tom', 'Jane', 'John', '0']
if '' in list:
    do something

这就是你所需要的一切!

答案 4 :(得分:1)

这个怎么样:

if any(len(x) == 0 for x in row):
    print("contains empty string, continue now")
    continue