Python中如何从子列表第2个元素开始转置嵌套列表并保留首元素位置
实现方法
核心逻辑
- 将原有嵌套列表的每个子列表拆分为两部分:固定的首元素、需要转置的剩余元素
- 对所有子列表的剩余元素部分执行常规转置操作
- 将固定首元素拼接在每个转置后的子列表头部,得到最终结果
代码实现
# 原始嵌套列表 list_of_lists = [[1, 2, 3, 4], [1, 5, 6, 7], [1, 8, 9, 10]] # 提取所有子列表共同的首元素,若各子列表首元素不同可按需调整取值逻辑 first_item = list_of_lists[0][0] # 提取所有子列表需要转置的部分(从第二个元素开始) rest_parts = [sublist[1:] for sublist in list_of_lists] # 转置剩余部分并拼接首元素 transposed_list = [[first_item] + list(row) for row in zip(*rest_parts)] print(transposed_list)
输出结果
运行后可直接得到目标结果:
`[[1, 2, 5, 8], [1, 3, 6, 9], [1, 4, 7, 10]]
补充说明
如果你的原始列表中各子列表的首元素不相同,可以根据实际需求调整首元素的取值逻辑,按需修改拼接规则即可适配不同场景。
内容的提问来源于stack exchange,提问作者Marwari
相关产品推荐
相关产品推荐

