【问题标题】: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

有人知道怎么做吗?

【问题讨论】:

    标签: python list boolean whitespace


    【解决方案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
          

          【讨论】:

            猜你喜欢
            • 2016-03-05
            • 2016-05-12
            • 1970-01-01
            • 2018-07-22
            • 1970-01-01
            • 2011-01-25
            • 1970-01-01
            • 2019-11-02
            • 2017-09-05
            相关资源
            最近更新 更多