why the hell does x,y = zip(*zip(a,b)) work in Python?
Posted
by Mike Dewar
on Stack Overflow
See other posts from Stack Overflow
or by Mike Dewar
Published on 2010-03-24T20:51:31Z
Indexed on
2010/03/24
20:53 UTC
Read the original article
Hit count: 343
OK I love Python's zip()
function. Use it all the time, it's brilliant. Every now and again I want to do the opposite of zip()
, think "I used to know how to do that", then google python unzip, then remember that one uses this magical *
to unzip a zipped list of tuples. Like this:
x = [1,2,3]
y = [4,5,6]
zipped = zip(x,y)
unzipped_x, unzipped_y = zip(*zipped)
unzipped_x
Out[30]: (1, 2, 3)
unzipped_y
Out[31]: (4, 5, 6)
What on earth is going on? What is that magical asterisk doing? Where else can it be applied and what other amazing awesome things in Python are so mysterious and hard to google?
© Stack Overflow or respective owner