reduce to be removed?
Fredrik Lundh
fredrik at pythonware.com
Sat Nov 11 18:14:37 EST 2006
Dustan wrote:
> It's always nice to know there are such good-natured people ready to
> help on this group.
any special reason why you keep pretending that some random wikipedia
editor knows more about a future Python release than the people that
develops Python ?
> Anyway, I figured out a way to get the builtin
> function 'sum' to work as I need:
> sum([[1,2,3],[4,5,6],[7,8,9]], [])
sum() is designed for adding numbers, not sequences. abusing it
for sequences leads to inefficient code, and extremely bad worst-
case behaviour, since you end up copying the same data over and
over and over again -- the function even checks for strings for
this very reason:
>>> sum(["123", "456", "789"], "")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: sum() can't sum strings [use ''.join(seq) instead]
(maybe it should check for other well-known containers as well?)
if you care about writing robust code, why not just use a for-loop,
and the list extend method?
</F>
More information about the Python-list
mailing list