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

Python中使用f-string打印时如何实现列的垂直对齐?

问题原因

f-string的宽度设置有个默认规则:当你给占位符设置的宽度小于实际内容的长度时,Python会优先输出完整内容,自动忽略你设置的宽度值。
你代码里设置的{"Progress":2}中,Progress本身长度为8,远大于你设定的宽度2,所以第一行的实际列宽是内容本身的长度,而第二行星号行是按照你设定的小宽度排版,自然无法对齐。

解决方法

把每列的宽度设置为大于等于对应列标题的实际长度即可,参考修改后的代码:

# 每列宽度取对应列标题的长度+1,增加列间距更美观,<代表左对齐
print(f'{"Progress":<9} {"Trailer":<8} {"Retriver":<9} {"Excluded":<9}')
print(f'{"*":<9} {"*":<8} {"*":<9} {"*":<9}')

修改后输出效果:

Progress  Trailer  Retriver  Excluded 
*         *        *         *        

补充说明

  • 宽度数值可以根据你需要的列间距自行调整,只要保证同一列的标题和内容使用相同的宽度设置即可
  • 占位符里的<代表左对齐,需要右对齐可以换成>,居中对齐用^

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:06:06