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

Python如何用for循环正确打印字典并实现指定格式化输出?

Python字典元素格式化打印的正确实现

问题原因

原代码的错误在于嵌套了不必要的内层循环:外层通过items()已经获取到每个键值对的key和对应列表value,但内层又遍历了字典所有的values(),导致每个key会重复输出所有的列表值,最终输出不符合预期。


正确实现方式

方法一:使用f-string格式化对齐(Python 3.6+)

直接利用外层循环拿到的键和对应列表,通过f-string设置左对齐宽度,保证输出格式整齐:

stock_dict1 = {'naruto': [900, 170], 'onepiece': [600, 60]}
for key, value in stock_dict1.items():
    # <10 表示键左对齐,占用10个字符宽度
    print(f"{key:<10} {value[0]} {value[1]}")

输出结果:

naruto      900 170
onepiece    600 60

方法二:使用str.format()(兼容Python 3.5及更早版本)

如果使用旧版Python,可通过str.format()实现相同效果:

stock_dict1 = {'naruto': [900, 170], 'onepiece': [600, 60]}
for key, value in stock_dict1.items():
    print("{:<10} {} {}".format(key, value[0], value[1]))

补充说明

  • <10是对齐参数,可根据键的长度调整数字,比如改成<12会让键的占位更宽,适配更长的键名。
  • 若列表元素数量固定,也可以直接解包列表简化代码,比如print(f"{key:<10} {' '.join(map(str, value))}")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:50:25