在下面的代码中,zip(* res)在Python中意味着什么?
这个问题在这里已经有了答案:
在python中,*是'splat'操作符。 它用于将列表解压缩为参数。 例如: foo(*[1, 2, 3])
与foo(1, 2, 3)
。
zip()
函数需要n
迭代,并返回y
元组,其中y是所提供的所有迭代的长度中最小的。 第y
个元组将包含所有提供的迭代的第y
个元素。
例如:
zip(['a', 'b', 'c'], [1, 2, 3])
会屈服
('a', 1) ('b', 2) ('c', 3)
对于您提供的示例中的res
等嵌套列表,调用zip(*res)
将执行如下操作:
res = [['a', 'b', 'c'], [1, 2, 3]]
zip(*res)
# this is the same as calling zip(['a', 'b', 'c'], [1, 2, 3])
('a', 1)
('b', 2)
('c', 3)
zip(*res)
转置矩阵(二维数组/列表)。 *
运算符“解包”一个矩阵和zip
交错的迭代或行,并按列逐行zip
行:
> x = [('a', 'b', 'c'), (1, 2, 3)]
> zip(*x)
[('a', 1), ('b', 2), ('c', 3)]
设想镜像对角线上的矩阵。
链接地址: http://www.djcxy.com/p/53639.html上一篇: what does zip(*res) mean in python in the following code?
下一篇: In Python what type of object does *zip(list1, list2) return?