pythonでzipと言えば、複数のリストのタプルを返す関数です。挙動は、 In [5]: a = [1,2,3] In [6]: b = [4,5,6] In [7]: c = [7,8,9] In [8]: zip(a,b,c) Out[8]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] こんな動きをします。行列の転置に似てるなと、今思いました。 この逆の動きをする関数がないものかなーと調べてたら、関数はないものの、簡単な方法がありました。 In [9]: d = zip(a,b,c) In [10]: zip(*d) # ここ注目! Out[10]: [(1, 2, 3), (4, 5, 6), (7, 8, 9)] なにこの、奇跡の一行w ということで、zipした変数の前に*演算子をつけてzipすると、元に戻るというメモでした。