Julian Taylor schrieb am 02.08.2014 um 12:11: > On 02.08.2014 08:35, Terry Reedy wrote: >> On 8/2/2014 1:57 AM, Allen Li wrote: >>> On Fri, Aug 01, 2014 at 02:51:54PM -0700, Guido van Rossum wrote: >>>> No. We just can't put all possible use cases in the docstring. :-) >>>> >>>> >>>> On Fri, Aug 1, 2014 at 2:48 PM, Andrea Griffini <agr...@tin.it> wrote: >>>> >>>> help(sum) tells clearly that it should be used to sum numbers >>>> and not >>>> strings, and with strings actually fails. >>>> >>>> However sum([[1,2,3],[4],[],[5,6]], []) concatenates the lists. >>>> >>>> Is this to be considered a bug? >>> >>> Can you explain the rationale behind this design decision? It seems >>> terribly inconsistent. Why are only strings explicitly restricted from >>> being sum()ed? sum() should either ban everything except numbers or >>> accept everything that implements addition (duck typing). >> >> O(n**2) behavior, ''.join(strings) alternative. > > lists could declare the tp_can_elide slot and call list.extend on the > temporary during its tp_add slot instead of creating a new temporary. > extend/realloc can avoid the copy if there is free memory available > after the block.
Yes, i.e. only sometimes. Better not rely on it in your code. Stefan _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com