Python如何将字典中包含的列表元素以表格格式打印输出?
表格格式化打印调整方案
问题原因
- 原代码数据行直接拼接键和原始列表值,会直接输出列表的完整字符串形式,没有拆分列表元素匹配表头的4个字段
- 表头使用固定宽度格式化规则,数据行却用制表符
\t对齐,两者规则不统一,导致整体排版错乱 - 如果运行时额外输出完整字典内容,是代码中存在多余的
print(dct)类语句导致的
修正代码
假设你的字典dct结构为{ID值: [Name值, Votes值, 投票占比值]},和表头字段顺序对应,调整后代码如下:
# 打印表头,统一使用左对齐固定宽度规则,可根据实际内容长度调整宽度数值 print('{:<5}{:<15}{:<10}{:<20}'.format('ID','Name','Votes','% of Total Vote')) # 可选:添加表头分割线 print('-' * 50) # 遍历字典时拆分列表值,和表头使用相同的格式化规则对齐 for key, value in dct.items(): name, votes, vote_percent = value print('{:<5}{:<15}{:<10}{:<20}'.format(key, name, votes, vote_percent))
适配调整说明
如果你的字典值列表结构和上述假设不同,只需调整值拆分的逻辑,保持拆分后的字段顺序和表头顺序、格式化宽度对应即可。如果需要更灵活的自适应宽度,可以先遍历所有内容计算每列的最大宽度,再动态生成格式化字符串。
内容的提问来源于stack exchange,提问作者Ankit Sharma
相关产品推荐
相关产品推荐

