>>> x = [1,2,3]
>>> y = [4,5,6]
>>> zipped = zip(x,y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> *zipped
File "<stdin>", line 1
*zipped
^
SyntaxError: invalid syntax
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]
我在压缩之前对*感到困惑。我知道zip(* zipped)用于反转矩阵,但那里的*是做什么的?它是python中的特殊运算符吗?
答案 0 :(得分:1)
有了这个:
zip(*zipped)
你告诉python与此相同:
zip(zipped[0],zipped[1],zipped[2])
这个基本的例子。
当用作函数的参数时,它接受参数的元素并在作为参数传递之前展开它。
例如:
power = [2,3]
math.pow(*power)
会给你2³= 8的值。