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

Python打印字典键值对时如何填充点号实现值列对齐

问题说明

需要实现字典键值对打印时值列自动对齐,原有代码因为每个键长度不一致,固定拼接相同数量的点会导致值的位置错位。

实现方法

核心思路是先统计所有字典键的最大长度,让每个键和后面的填充点总长度保持一致,即可实现值列对齐。

修正后代码

# 注意不要用dict作为变量名,会覆盖Python内置字典类型
my_dict = {'AAAAA': 2, 'BB': 1, 'CCCCCCCCC': 85}
# 计算所有键的最大长度
max_key_length = max(len(key) for key in my_dict.keys())
# 设定键+点的总宽度:最长键长度 + 固定8个点的长度
fill_total_width = max_key_length + 8

for k, v in my_dict.items():
    # 左对齐填充.到指定总宽度,再拼接值
    print(f'{k:.<{fill_total_width}}{v}')

运行输出

AAAAA............2
BB...............1
CCCCCCCCC........85

语法说明

格式化串{k:.<{fill_total_width}}的规则:

  • < 代表左对齐
  • . 是长度不足时的填充字符
  • {fill_total_width} 是整个占位区域的总宽度,长度不够的位置会自动补填充字符
    这样所有键加后续填充点的总长度完全相同,后面的值自然会在同一列对齐。如果需要调整点的数量,修改fill_total_width的加值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 10:21:26