"multi" zip

Gerhard Häring gerhard.haering at gmx.de
Thu Jun 27 18:23:51 CEST 2002


Am Thu, 27 Jun 2002 15:46:25 GMT schrieben Sie (Mark <Aristotle_00 at yahoo.com>):
> So,
> 
> Let line be a list of lists where the sublists are the same length.
> 
> For example:
> 
> line = [ [0,1,2], [3,4,5], [6,7,8] ]
> 
> Now, I can do:
> 
> zip(line[0], line[1], line[2])
> 
> to "invert" the array.  Now, I'd like to do two different things:
> 
> 1) instead of producing tuples, I'd like to produce lists.
> 
> 2) I'd like to extend this to an arbitrary number of lists.  If it were
> possible, I'd do zip(line[0], line[1], ..., line[n]) but this doesn't seem to
> compile :).
> 
> Is there a way to make zip() do this, or should I stop trying to hammer with
> a wrench?

zip(*list)

The *sequence form of calls is described in chapter 5.3.4 of the language
reference: http://www.python.org/doc/current/ref/calls.html

Gerhard
--
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id AD24C930
public key fingerprint: 3FCC 8700 3012 0A9E B0C9  3667 814B 9CAA AD24 C930
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))






More information about the Python-list mailing list