Plurrrr

Wed 18 Mar 2020

Why does all() return True if the iterable is empty?

This is literally a 2,500 year old debate in philosophy. The ancients thought “all unicorns are blue” should be false because there are no unicorns, but modern logic says it is true because there are no unicorns that aren’t blue. Python is just siding with modern predicate logic, but your intuition is also quite common and was the orthodox position until the last few hundred years.

Source: Why does all() return True if the iterable is empty?, an article by Carl M. Johnson.