【发布时间】:2013-03-29 15:22:52
【问题描述】:
这里是 Python 3 学习者:
question 接受了以下答案:
rr,tt = zip(*[(i*10, i*12) for i in xrange(4)])
返回两个元组。如果有人能分解答案并解释它对 Python 3 的作用,我将不胜感激(我知道range() 在 Python 3 中返回一个迭代器)。我了解列表推导,但我对解包感到困惑(我认为您只能使用星号表达式作为分配目标的一部分)。
我同样对下面的代码感到困惑。我理解结果和压缩(或认为我知道),但星号表达式再次让我失望。
x2, y2 = zip(*zip(x, y))
来自this:
>>> 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
【问题讨论】:
标签: python python-3.x iterable-unpacking