Boris Borcic wrote: >>> For example, if I have x=[ [1,2], [3,4] ] >>> What I want is a new list of list that has four sub-lists: >>> [[1,2], [f(1), f(2)], [3,4], [f(3), f(4)]] >> [[a, map(f,a)] for a in x] > [map(g,a) for a in x for g in [None,f]] > will do it. > > ...a bit too cleverly, but there's worse : > list((yield a) or map(f,a) for a in x)
worse (in *many* ways) solutions: l = [[a, map(f,a)] for a in x] 1) s = sum(l, []) 2) from operator import add r = reduce(add, l, []) 3) a = [] for e in l: a.extend(e) -- Under construction -- http://mail.python.org/mailman/listinfo/python-list