我有一个看起来像这样的元组的元组 ( (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]
获取压缩输出的第一个元素,从而提供所需的输出。
关于python - 如何在 Python 中对这个元组执行操作并转换为另一个元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065319/