On Sat, 06 Aug 2011 10:24:10 -0700, Emile van Sebille wrote: > On 8/6/2011 10:07 AM smith jack said... >> if a list L is composed with tuple consists of two elements, that is L >> = [(a1, b1), (a2, b2) ... (an, bn)] >> >> is there any simple way to divide this list into two separate lists , >> such that L1 = [a1, a2... an] >> L2=[b1,b2 ... bn] >> >> > >>> L = [('a1', 'b1'), ('a2', 'b2'),('an', 'bn')] zip(*L) > [('a1', 'a2', 'an'), ('b1', 'b2', 'bn')] >
Nice. :) I forgot about zip, still learning Python myself. I'll have to check up on the *L - is that a reference? I know in Perl, you can assign the lhs to a list, below works because there are exactly 2 items on the rhs. Does Python have a catchall, or an ignore the rest? Example, if L was a tuple that had 3 or more items, the below lhs would fail. Is this possible in Python? (X,Y) = zip(*L) X : ('a1', 'a2', 'an') Y : ('b1', 'b2', 'bn') -- http://mail.python.org/mailman/listinfo/python-list