Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Completely Empty by kdim
def completely_empty(val):
if not val and val != 0 and val != None:
return True
if hasattr(val, '__iter__') and val.__iter__ or hasattr(val, '__getitem__') and val.__getitem__:
return all(completely_empty(i) for i in val)
return False
if __name__ == '__main__':
assert completely_empty([type('', (), {'__iter__': None})()]) == False
assert completely_empty([]) == True, "First"
assert completely_empty([1]) == False, "Second"
assert completely_empty([[]]) == True, "Third"
assert completely_empty([[], []]) == True, "Forth"
assert completely_empty([[[]]]) == True, "Fifth"
assert completely_empty([[], [1]]) == False, "Sixth"
assert completely_empty([0]) == False, "[0]"
assert completely_empty(['']) == True
assert completely_empty([[], [{'': 'No WAY'}]]) == True
print('Done')
March 3, 2021