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

Python f-string如何实现可变宽度的左对齐格式化输出

实现字典键名动态对齐格式化打印

Python 的 f-string 原生支持动态传入宽度参数,不需要硬编码固定长度,按以下步骤实现即可:

  • 第一步:计算对齐基准宽度
    遍历待打印字典的所有键,统一转成字符串后取最大长度,作为对齐的基准宽度。如果需要给键名和后面的冒号留空隙,可以在最大值基础上加固定偏移量:
    # 示例字典
    log_dict = {
        "key": "value",
        "key1": "value",
        "key63535": "value"
    }
    # 计算最长键名长度,+4 是给键名和冒号之间留足够空格匹配预期对齐效果
    align_width = max(len(str(k)) for k in log_dict.keys()) + 4
    
  • 第二步:在f-string中嵌套传入宽度变量
    你之前直接替换固定值20不生效,是因为格式规范部分的动态参数必须用嵌套大括号包裹,直接写变量名会被当成格式标识的一部分解析触发报错。左对齐标识<保持不变,把宽度变量放在嵌套的大括号里即可:
    for k, v in log_dict.items():
        print(f"{str(k):<{align_width}}: {v}")
    

运行后输出完全符合预期的对齐效果:

key        : value
key1       : value
key63535   : value

如果不习惯f-string嵌套写法,也可以用字符串自带的ljust()方法实现相同效果,逻辑完全一致:

for k, v in log_dict.items():
    print(f"{str(k).ljust(align_width)}: {v}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:31:41