Guido van Rossum wrote:- the identity (defaulting to 0) if the sequence is empty
- the first and only element if the sequence only has one element
- (...(((A + B) + C) + D) + ...) if the sequence has more than one element
While this might be reasonable if the identity argument is not specified, I think that if an identity is specified, it should be used even if the sequence is non-empty. The reason being that the user might be relying on that to get the semantics he wants.
Think of the second argument as "accumulator object" rather than "identity".
+1 for Greg
I think of the second argument as a running total which defaults to the operator's neutral element.
Perhaps the second argument should not be optional to emphasise this. After all, there's much more to sum() than numbers.
--eric
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com