Python 3 学習者はこちら:
質問には、次の受け入れられた回答がありました。
rr,tt = zip(*[(i*10, i*12) for i in xrange(4)])
2 つのタプルを返します。誰かが答えを分析し、Python 3 を念頭に置いて何をしているのかを説明できれば幸いです (Python 3 でrange()
イテレータが返されることはわかっています)。リストの内包表記は理解できますが、アンパックについては混乱しています (割り当てターゲットの一部としてスター付きの式しか使用できないと思っていました)。
以下のコードでも同様に混乱しています。私は結果と圧縮を理解しています (または理解していると思います)。
x2, y2 = zip(*zip(x, y))
これから:_
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True