On Wed, 2005-01-12 at 20:10 +0100, Bernhard Herzog wrote:
> "It's me" <[EMAIL PROTECTED]> writes:
> 
> > May be flatten should be build into the language somehow....
> 
> That shouldn't be necessary as it can easily be written in a single list
> comprehension:
> 
> a = [[1,2,4],4,5,[2,3]]
> flat_a = [x for cur, rest in [[a[:1], a[1:]]] for x in cur
>             if (not isinstance(x, (list, tuple))
>                 and (not rest or not cur.append(rest.pop(0)))
>                 or (x and (cur.append(x[0]) or rest.__setslice__(0, 0, 
> x[1:])))
>                 or (not x and rest and cur.append(rest.pop(0))))]
> 
> ;-)

If it means I _never_ have to see that list comprehension again, then
seeing 'flatten' go into itertools would make me very, very happy :-P

-- 
Craig Ringer

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to