我有一个看起来像这样的元组的元组 ( (Col1, x, x), (Col2, x, x), (Col3, x, x) ) 我想将它转换成另一个看起来像这样的元组 (Col1, Col2, Col3)。
如何做到这一点?
我正在使用 Python 2.7。谢谢。
请您参考如下方法:
当您需要“转置”列表或类似的东西时,请考虑zip。试试这个:
a = ( ('Col1', 1, 11), ('Col2', 2, 22), ('Col3', 3, 33) )
print zip(*a)[0]
输出:
('Col1', 'Col2', 'Col3')
编辑更多细节:
* 运算符在 Python 中用于 unpack argument lists .换句话说,上面的zip(*a)实际上转化为
zip(('Col1', 1, 11), ('Col2', 2, 22), ('Col3', 3, 33))
结果
[('Col1', 'Col2', 'Col3'), (1, 2, 3), (11, 22, 33)]
如果您将其视为矩阵,它看起来像是原始元组的转置。通过 [0] 获取压缩输出的第一个元素,从而提供所需的输出。
