Проверка списков пустых значений

Каков наиболее эффективный способ проверить, содержит ли список только пустые значения (не если список пуст, а список пустых элементов)? Я использую классный питонический неявный метод booleaness в цикле for:

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

Что-нибудь лучше?

 if not any(lst): # ... 

Должно сработать. any() возвращает True если какой-либо элемент iterable, который он передал, оценивает True . Эквивалент:

 def my_any(iterable): for i in iterable: if i: return True return False 
 len([i for i in lst if i]) == 0 

Использование all :

  if all(item is not None for i in list): return True else: return False 
 >>> l = ['', '', '', ''] >>> bool([_ for _ in l if _]) False >>> l = ['', '', '', '', 1] >>> bool([_ for _ in l if _]) True 
Interesting Posts