Python中如何使用format和f-string实现打印输出的等号对齐
实现打印对齐的方法
核心逻辑:要实现所有等号对齐,需要固定左侧变量名的占位宽度统一左对齐,再固定右侧数值的占位宽度统一右对齐,等号放在两个固定宽度的中间即可,之前的写法只给数值设置了宽度,没有固定变量名的宽度,自然无法对齐等号。
方法1:f-string实现(推荐)
把所有待打印的变量名和对应值存在字典中遍历打印即可,格式符可根据需求调整:
# 存储所有变量名和对应的值,第二组数据同理替换字典内容即可 metrics = { "Ackme": 125.0, "T-radium": 124.0, "Average": 87.621, "Maximum": 77.0, "Minimum": 16.12, "Variance": 311.271, "Std&Dev": 112518, "Median": 582000 } for var_name, var_value in metrics.items(): # <10 表示变量名占10个字符宽度左对齐,>10.3f表示数值占10个字符宽度右对齐、保留3位小数 print(f" {var_name:<10}= {var_value:>10.3f}") # 如果不需要统一保留小数,希望整数自动去掉末尾的.000,可以用g格式符适配: # print(f" {var_name:<10}= {var_value:>10g}")
如果你的变量名更长/数值位数更多,调整两个宽度数值即可,比如变量名最长有12个字符,就把<后面的10改成14即可。
方法2:format方法实现
逻辑和f-string完全一致,仅语法不同:
for var_name, var_value in metrics.items(): print(" {:<10}= {:>10.3f}".format(var_name, var_value))
内容的提问来源于stack exchange,提问作者Andrew Swainskeren
相关产品推荐
相关产品推荐

