flatten a level one list

Nick Craig-Wood nick at craig-wood.com
Thu Jan 12 10:30:04 EST 2006


Sion Arrowsmith <siona at chiark.greenend.org.uk> wrote:
>  sum(...)
>      sum(sequence, start=0) -> value
> 
>  If you're using sum() as a 1-level flatten you need to give it
>  start=[].

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?

-- 
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick



More information about the Python-list mailing list