What do people think about having `max` and `min` ignore `None`?
max(1, None) == 1
min(1, None) == 1
max([1, None]) == 1
max(None, None) == max() or max(None, None) == max()
(The last one currently throws two different errors.)
This change would allow one to use `None` as a default value. For example,
best = None
for x in lst:
best = max(best, x)
Currently, you would initialize `best` to the first element, or to
There are more complicated examples, which aren't just replications of
`max`'s functionality. The example I have in mind wants to update
several running maximums during iteration.
I know that there are other ways to do it (having given one above).
What if this becomes _the_ obvious way to do it?
I'm concerned about this silencing some bugs which would have been
caught before. I'm also worried about whether it would make sense to
people learning Python. I'm less concerned about custom types which
allow comparisons to `None`, because I don't understand why you would
want that, but you can change my mind.