在Python 2.7中使用format()小语言对齐浮点数到小数点
我想打印一些数字,让它们的小数点对齐。目前打印出来的效果是这样的:
ydisp 0.176
xdisp -0.509
而我想要的效果是这样的:
ydisp 0.176
xdisp -0.509
我现在用的代码是:
print "{:{width}} {}".format(items,float_dict[items], width=12)
不过我有点迷糊了,我在Python 2.7的手册里找到了一段关于格式化的小知识:
“在宽度字段前加一个零('0')字符,可以让数字类型的输出在填充时考虑符号。这相当于用'0'作为填充字符,并且对齐方式为'='。”
但是我不太明白这个'0'字符该怎么用。如果有人能给我一点提示就好了。
注意:字典的键是字符串类型,值是浮点数类型。
1 个回答
8
使用 ' '
作为符号修饰符,可以在符号前加一个空格:
>>> '{:20} {: }'.format('ydisp', 0.176)
'ydisp 0.176'
>>> '{:20} {: }'.format('xdisp', -0.509)
'xdisp -0.509'
注意在 :
冒号后面有一个空格。这会让正数的左边加一个空格,而负数则会显示一个 -
符号。