The explanation for why 2) works that way is very wrong, as noted in another comment. It's very __magic__ method specific.
The max(-0.0, 0.0) shouldn't be surprising as -0.0 is equal to 0.0 mathematically and of course the algorithm returns the first value, as it's implemented efficiently.
Also, all([]) being True and any([]) being False isn't Python-speific, it's based on mathematics.