On 4/12/12 10:44:32, Alexander Blinne wrote: > Am 03.12.2012 20:58, schrieb subhabangal...@gmail.com: >> Dear Group, >> >> I have a tuple of list as, >> >> tup_list=[(1,2), (3,4)] >> Now if I want to covert as a simple list, >> >> list=[1,2,3,4] >> >> how may I do that? > > Another approach that has not yet been mentioned here: > >>>> a=[(1,2), (3,4)] >>>> b=[] >>>> map(b.extend, a) > [None, None] >>>> b > [1, 2, 3, 4] > > map returns [None, None] because extend returns nothing, but now > b==[1,2,3,4].
It's considered bad style to use map it you don't want the list it produces. > There are more ways: > >>>> from operator import add >>>> reduce(add, a) > (1, 2, 3, 4) There's a built-in that does "reduce(operator.add"; it's called "sum": >>> sum(a, ()) (1, 2, 3, 4) >>> > or > >>>> reduce(operator.add, (list(t) for t in a)) > [1, 2, 3, 4] This is a valid use case for the map operator: >>> sum(map(list, a), []) [1, 2, 3, 4] >>> > I didn't do any performance testing, i guess the first one should be > about as fast as the for-loop approach with .extend() and the other two > might be quite slow. Although this only really matters if you have large > lists. Hope this helps, -- HansM -- http://mail.python.org/mailman/listinfo/python-list