unzip function?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Wed Jan 18 10:27:35 EST 2012

On Wed, 18 Jan 2012 09:33:34 -0500, Neal Becker wrote:

> python has builtin zip, but not unzip

That's because zip is (almost) its own inverse.

> A bit of googling found my answer for my decorate/sort/undecorate
> problem:
> a, b = zip (*sorted ((c,d) for c,d in zip (x,y)))

That does a lot of unnecessary work.

a, b = zip(*sorted(zip(x,y)))

> That zip (*sorted...
> does the unzipping.
> But it's less than intuitively obvious.


If you understand what zip does, it should be obvious.

> I'm thinking unzip should be a builtin function, to match zip.

Just create your own utility function. Not everything needs to be a 

def unzip(iterable):
    return zip(*iterable)

Hardly seems worthwhile.


More information about the Python-list mailing list