我知道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。)