5

リストに空の値しか含まれていないかどうか (リストが空の場合ではなく、空の要素のリスト) を確認する最も効果的な方法は何ですか? forループで有名なpythonicの暗黙的なブール値メソッドを使用しています:

def checkEmpty(lst):
    for element in lst:
        if element:
            return False
            break
    else:
        return True

もっと良いものはありますか?

4

4 に答える 4

16
if not any(lst):
    # ...

動作するはずです。 渡されたイテラブルのいずれかの要素が評価された場合にany()返します。に相当:TrueTrue

def my_any(iterable):
    for i in iterable:
        if i:
            return True
    return False
于 2012-08-30T15:45:42.277 に答える
3
len([i for i in lst if i]) == 0
于 2012-08-30T15:45:29.607 に答える
2

使用all:

   if all(item is not None for i in list):
      return True
    else:
      return False
于 2012-08-30T15:47:41.137 に答える
1
>>> l = ['', '', '', '']
>>> bool([_ for _ in l if _])
False
>>> l = ['', '', '', '', 1]
>>> bool([_ for _ in l if _])
True
于 2012-08-30T15:45:41.950 に答える