【发布时间】:2017-01-14 18:27:52
【问题描述】:
来自 PEP448:
虽然 *elements, = 可迭代导致元素成为列表,但元素 = *iterable,使元素成为一个元组。其原因可能会使不熟悉该构造的人感到困惑。
嗯,我就是其中之一。我试了一下:
>>> *e, = range(3)
>>> e
[0, 1, 2]
>>> e = *range(3),
>>> e
(0, 1, 2)
前者适用于 Python 3.4 和 3.5。
后者仅在 3.5 中。这是前面提到的 PEP448 引入的新功能。那个PEP里有描述,那个没问题。
但是,我以前从未见过*elements, = iterable。您能否解释一下它是如何工作的以及为什么要创建一个列表?
【问题讨论】:
-
@AshwiniChaudhary 完美的答案,谢谢。
标签: python python-3.x