python - 如何在 Python 中对这个元组执行操作并转换为另一个元组?

标签 python python-2.7

我有一个看起来像这样的元组的元组 ( (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/

相关文章:

python - Pyramid :检查给定路由名称的权限

python - Tastypie 资源不显示新创建的对象(日期过滤问题)

python - MacOS 上的 PyCharm 无法处理文件

python - 通过不同的方法使用 beautiful soup 获取 href

python - 在 pytest 中,如何跳过或 xfail 某些固定装置?

python - Bottle 中的原始输入模拟

c# - 如何在 C# 中将变量参数传递给内部方法

python-2.7 - 使用 Avro 将对象编码为 Python 中的字节数组

python - 来自 pandas 数据框的输入的 sklearn classification_report 产生 : "TypeError: not all arguments converted during string formatting"

python - 如何使用 python 正则表达式避免特殊字符?