星号表达式在此代码中的作用是什么?

时间:2016-12-08 21:57:49

标签: python python-3.x zip operator-keyword

我知道python中的已加星标表达式可以做到这一点:

>>> a, *b = [1, 2, 3, 4]
>>> b
[2, 3, 4]

而且:

>>> def test(*args):
    print(args)
>>> test(1, 2, 3, 4)
(1, 2, 3, 4)

那么这一行是做什么的?这一行应该是group a list into sequential n-tuples

zip(*[lst[i::n] for i in range(n)]) 

明星做什么?我试图获得它的价值,但它给了我一个错误:

>>> a = *[1, 2, 3, 4]
SyntaxError: can't use starred expression here

当我尝试使用样本列表时:

>>> zip(*[1, 2,3, 4])
TypeError: zip argument #1 must support iteration

这是什么意思? Aren列出了可迭代的?我不能理解星级算子的关键概念(如果它是一个算子)。请解释。 (如果有帮助,我会使用Python 3.5.2。)

0 个答案:

没有答案