On 23 October 2012 21:03, Joshua Landau <joshua.landau...@gmail.com> wrote:
> On 23 October 2012 12:07, Jean-Michel Pichavant <jeanmic...@sequans.com>wrote: > >> ----- Original Message ----- >> >> > Thankyou.. but my problem is different than simply joining 2 lists >> > and it is done now :).... >> >> >> A lot of people though you were asking for joining lists, you description >> was misleading. >> >> I'll take a guess: you want to flatten a list of list. >> "Nested" list comprehensions can do the trick. >> >> aList =[[1,5], [2,'a']] >> [item for sublist in aList for item in sublist] >> >> ... >> [1, 5, 2, 'a'] >> >> I find it rather difficult to read though. > > > We have a library function for this, in the one-and-only itertools. > > >>> listoflists = [list(range(x, 2*x)) for x in range(5)] >> >>> listoflists >> [[], [1], [2, 3], [3, 4, 5], [4, 5, 6, 7]] >> >>> from itertools import chain >> >>> list(chain.from_iterable(listoflists)) >> [1, 2, 3, 3, 4, 5, 4, 5, 6, 7] > > > It does exactly what it says... fast and easy-to-read. Note that I think what he really wanted is to go from a, b, c = [list(x) for x in (range(10), range(11, 20), range(21, 30))] to > list(range(30))
-- http://mail.python.org/mailman/listinfo/python-list