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

Python实现嵌套列表转特定排列:多行列标题转可打印矩阵

实现多行列标题到目标矩阵的转换

可以用列表推导式+zip函数的组合简洁实现这个转换,核心思路是先统一每个子标题的长度,再通过转置得到目标结构:

步骤说明

  1. 预处理每个列标题:
    • 长度为1的子列表(单行标题):在头部补空字符串,变成 ["", 原元素],对应目标矩阵的第一行空、第二行有值
    • 长度为2的子列表(多行标题):保持原顺序,对应目标矩阵的第一行取第一个元素、第二行取第二个元素
  2. 用zip(*预处理列表)对预处理后的二维列表进行转置,得到的就是目标矩阵的结构

代码实现

# 输入的列标题嵌套列表
input_titles = [["a0"], ["b0", "b1"], ["c0", "c1"], ["d0", "d1"], ["e0"], ["f0"], ["g0"]]

# 预处理每个子标题,统一长度为2
processed = [["", s[0]] if len(s) == 1 else s for s in input_titles]

# 转置得到目标矩阵
result = [list(row) for row in zip(*processed)]

print(result)
# 输出:
# [['', 'b0', 'c0', 'd0', '', '', ''], ['a0', 'b1', 'c1', 'd1', 'e0', 'f0', 'g0']]

方法优势

  • 预处理步骤让所有列的标题都对应到两行的位置,确保转置时行列完全对齐
  • zip(*processed)自动将每个列的第1个、第2个元素分别聚合,刚好匹配目标矩阵的两行结构,代码简洁且可读性强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:59:58