Я не думаю, что есть очевидный способ сделать это в Python. Лучше всего было бы использовать рекурсивную функцию, подобную этой:
def empty(li):
if li == []:
return True
else:
return all((isinstance(sli, list) and empty(sli)) for sli in li)
Обратите внимание, что all
поставляется только с Python> = 2.5 и что он не будет обрабатывать бесконечно рекурсивные списки (например, a = []; a.append(a)
).