You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用zip撤销转置操作?处理转置后删除部分元组的还原需求

实现方法

你要的“撤销转置”本质还是做一次转置操作,直接对修改后的转置列表再次使用zip(*待转置对象)即可,具体实现如下:

# 注意不要用list作为变量名,会覆盖Python内置的list类型,这里改用original_list
original_list = [(1, 2, 3, 4), (5, 6, 7, 8), (9, 10, 11, 12)]
# 第一次转置
transpose = list(zip(*original_list))
print(transpose) # 输出:[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

# 删除不需要的元组,比如示例里的第二个元组(索引为1)
del transpose[1]
print(transpose) # 输出:[(1, 5, 9), (3, 7, 11), (4, 8, 12)]

# 再次转置即可得到目标结果
result = list(zip(*transpose))
print(result) # 输出:[(1, 3, 4), (5, 7, 8), (9, 11, 12)]
注意事项
  • Python3中zip默认返回迭代器,如果需要得到列表格式的结果,需要用list()做显式转换
  • 该方法适用于所有等长元组构成的列表转置后修改、再反向转置的场景,无论删除了多少个转置后的元组,只要剩余元组长度一致,都可以直接用该方法实现。

内容的提问来源于stack exchange,提问作者Pavel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:39:04