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

Python使用join()方法打印元组数据时输出不对齐的问题咨询

Python打印多列数据对齐的解决方案

你可以通过固定列宽格式化打印的方式实现对齐,有两种常用的实现方案:

方案1:动态计算列宽(推荐,适合不确定列最长内容的场景)

这种方案会自动遍历所有数据计算每列的最大宽度,即使后续新增数据也不会打乱对齐效果,非常适合你有30条数据的场景:

test = (('BoringDAO',199.09,0.48),('Santiment Network Token',0.66,0.25))
# 计算每列内容转成字符串后的最大长度
max_widths = [max(len(str(row[i])) for row in test) for i in range(len(test[0]))]
# 可自定义列之间的额外间距
gap = 5

for row in test:
    # 第一列左对齐,数字列可根据需求选择左对齐/右对齐(右对齐用>更美观)
    print(f"{row[0]:<{max_widths[0] + gap}}{row[1]:<{max_widths[1] + gap}}{row[2]:<}")

运行后输出效果和你要求的完全一致:

BoringDAO                       199.09     0.48
Santiment Network Token         0.66       0.25

方案2:手动固定列宽(简单快速)

如果你提前知道每列的最长内容不超过某个长度,可以直接手动指定列宽,代码更简洁:

test = (('BoringDAO',199.09,0.48),('Santiment Network Token',0.66,0.25))
for name, val1, val2 in test:
    # 手动指定第一列宽度30,第二列宽度15
    print(f"{name:<30}{val1:<15}{val2:<}")

格式说明

f-string中对齐语法的规则:

  • < 表示内容左对齐,> 表示内容右对齐,^ 表示居中对齐
  • 对齐符号后面跟的数字为该列的总宽度,内容长度不足时自动用空格填充

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:45:03