unzip function?

Benjamin Kaplan benjamin.kaplan at case.edu
Wed Jan 18 10:37:12 EST 2012


On Wed, Jan 18, 2012 at 10:31 AM, Rodrick Brown <rodrick.brown at gmail.com> wrote:
>
>
> On Wed, Jan 18, 2012 at 10:27 AM, Alec Taylor <alec.taylor6 at gmail.com>
> wrote:
>>
>> http://docs.python.org/library/functions.html
>> >>> x = [1, 2, 3]
>> >>> y = [4, 5, 6]
>> >>> zipped = zip(x, y)
>> >>> zipped
>> [(1, 4), (2, 5), (3, 6)]
>> >>> x2, y2 = zip(*zipped)
>> >>> x == list(x2) and y == list(y2)
>> True
>
>
> Alec can you explain this behavior zip(*zipped)?

Zip is its own inverse.
>>> zip([1,2,3],[4,5,6])
[(1, 4), (2, 5), (3, 6)]
>>> zip((1,4),(2,5),(3,6))
[(1, 2, 3), (4, 5, 6)]

If you're not sure of the *zipped part, it just means treat each
element of zipped as a different argument to zip. So zip(*zipped) is
calling zip(zipped[0], zipped[1]... zipped[-1])



More information about the Python-list mailing list