Alex Martelli <[EMAIL PROTECTED]> wrote: > Nick Craig-Wood <[EMAIL PROTECTED]> wrote: > > Except if you are trying to sum arrays of strings... > > > > >>> sum(["a","b","c"], "") > > Traceback (most recent call last): > > File "<stdin>", line 1, in ? > > TypeError: sum() can't sum strings [use ''.join(seq) instead] > > >>> > > > > I've no idea why this limitation is here... perhaps it is because pre > > python2.4 calling += on strings was very slow? > > No: when I implemented sum, I originally specialcased sum on strings to > map down to a ''.join -- Guido decided it was confusing and had no > advantage wrt calling ''.join directly so he made me put in that > check.
Hmm, interesting... I agree with Guido about the special case, but I disagree about the error message. Not being able to use sum(L,"") reduces the orthogonality of sum for no good reason I could see. However I only noticed that when trying to do the recent python challenge which probaby isn't the best use case ;-) -- Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list