restriction on sum: intentional bug?

Dieter Maurer dieter at
Sun Oct 18 07:47:01 CEST 2009

Christian Heimes <lists at> writes on Fri, 16 Oct 2009 17:58:29 +0200:
> Alan G Isaac schrieb:
> > I expected this to be fixed in Python 3:
> > 
> >>>> sum(['ab','cd'],'')
> > Traceback (most recent call last):
> >    File "<stdin>", line 1, in <module>
> > TypeError: sum() can't sum strings [use ''.join(seq) instead]
> > 
> > Of course it is not a good way to join strings,
> > but it should work, should it not?  Naturally,
> It's not a bug. sum() doesn't work on strings deliberately. ''.join()
> *is* the right and good way to concatenate strings.

Apparently, "sum" special cases 'str' in order to teach people to use "join".
It would have been as much work and much more friendly, to just use "join"
internally to implement "sum" when this is possible.


More information about the Python-list mailing list