Python如何打印字典数据实现等间距对齐效果?
对齐异常的核心原因是原代码将游戏名称和类型标识(S/N)拆分处理,不同名称长度不一致导致整列总宽度不固定,后续列的起始位置自然偏移。
你可以将名称列的内容先拼接为完整字符串,再统一设置固定占位宽度,修改后的代码如下:
dash = '-' * 48 # 表头也统一用固定宽度格式化,和内容列对齐 print(f'{"GameID":<10}{"Name":<18}{"Weight":<8}{"Nplayer":<9}{"Win"}') print(dash) for k, v in game_match.items(): print(f'{k:<10}{f"{v[0]}({v[1]})":<18}{v[2]:<8}{v[3]:<9}{v[4]}')
调整逻辑说明:
- 把
v[0]和v[1]先拼接为名称(类型)的完整字符串,再通过<18指定该列固定占18个字符宽度、左对齐,不管名称本身长度多少,都会占满固定长度的位置 - 后续的Weight、Nplayer、Win列也都设置对应的固定占位宽度,保证每列起始位置统一
运行后即可得到你要求的等间距对齐效果。
内容的提问来源于stack exchange,提问作者Miracle
相关产品推荐
相关产品推荐

