what does * do when unzipping a python list?
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 11 12 | >>> 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中的一个特殊操作符吗?
用这个:
1 | zip(*zipped) |
您告诉python的方法与此相同:
1 | zip(zipped[0],zipped[1],zipped[2]) |
对于这个基本示例。
那个接线员具体是什么当用作函数的参数时,它接受参数的元素并在作为参数传递之前将其展开。
例如:
1 2 | power = [2,3] math.pow(*power) |
会给你23=8的值。
http://ideone.com/d0r9fb