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

Python如何将嵌套列表按列对齐的矩阵格式打印输出?

对齐打印嵌套矩阵的实现方法
  • 核心需求是让所有元素的个位对齐,需先统一每个元素的输出宽度,做右对齐格式化后再拼接成行。

实现步骤

  • 先将原始列表修正为Python合法的嵌套列表(原内容元素间缺逗号分隔):
    matrix = [[15, 16, 18, 19, 12, 11], [13, 19, 23, 21, 16, 12], [12, 15, 17, 19, 20, 10], [10, 14, 16, 13, 9, 6]]
  • 自动计算所有元素转字符串后的最大长度,避免硬编码宽度,适配不同数值长度的场景:
    max_width = max(len(str(num)) for row in matrix for num in row)
  • 遍历每一行,对元素做固定宽度右对齐格式化后拼接,按需添加行间空行:
    for row in matrix:
        formatted_row = ' '.join(f"{num:>{max_width}}" for num in row)
        print(formatted_row)
        print()  # 如需行间空行保留,不需要则删除该行
    

关键说明

格式化语法解释:f"{num:>{max_width}}" 为Python 3.6+支持的标准格式化语法,其中>指定右对齐规则,max_width为元素的总输出宽度,宽度不足时会在左侧自动补空格,保证个位完全对齐。

  • 你之前使用的' '.join(map(str,lst))直接将数字转字符串拼接,短数字(如9)为单字符、长数字(如20)为双字符,长度不一致导致错位。先做固定宽度格式化再拼接即可解决该问题。
  • 你给出的单条拼接示例末尾多了逗号,属于语法错误,实际使用时需去掉。

实际输出效果

15 16 18 19 12 11

13 19 23 21 16 12

12 15 17 19 20 10

10 14 16 13  9  6

完全符合要求的对齐规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 20:45:01