>>all([])
True
>>all([[]])
False
>>all([[[]]])
True
>>all([[[[]]]])
True
The documentation of all() reads that it returns True is all the elements are True/For an empty list. Why does all([ [ ] ]) evaluate to False? Because [ ] is a member of [ [ ] ], it should evaluate to True as well.