Python检查列表是不是仅包含空元素或空格

Posted

技术标签:

【中文标题】Python检查列表是不是仅包含空元素或空格【英文标题】:Python check if list only contains either empty elements or whitespacePython检查列表是否仅包含空元素或空格 【发布时间】:2017-09-01 20:54:01 【问题描述】:

我想检查一个列表是否只包含空元素或空格,例如:

l = ['','   ','\n']
if all(whitespace or empty for element in l):
    return True

有人知道怎么做吗?

【问题讨论】:

【参考方案1】:

你的空格就是str.isspace(..)所以:

if all('' == s or s.isspace() for s in l):
    return True

【讨论】:

我在别处读到 all() 非常快,但也许他们错了 D: 另外我想我必须考虑到它必须检查两个场景【参考方案2】:

最简单的方法可能是使用str.strip(),如果源字符串只包含空格,它将返回空字符串。空字符串是假的。

if not any(s.strip() for s in l): return True

【讨论】:

【参考方案3】:

使用 all 而不是 any 的答案略有不同:

if  all([not x.strip() for x in l]):
    return True

【讨论】:

【参考方案4】:

试试这个:

if not any(s.strip() for s in l):
    return True

【讨论】:

【参考方案5】:

实现所需结果的另一种方法,但使用 str.split():

if all(not x.split() for x in l):
   return True

【讨论】:

以上是关于Python检查列表是不是仅包含空元素或空格的主要内容,如果未能解决你的问题,请参考以下文章

检查元素是不是在列表中(包含)

忽略仅包含空格的数组元素

要检查数组是不是仅包含另一个数组中的元素,VB.NET

检查列表是不是包含与某些东西不同的元素[重复]

如何检查字符串是不是包含列表的任何元素并获取元素的值?

PYTHON 写函数,检查用户传入的对象(字符串列表元组)的每一个元素是否含有空内容。