4

我想打印行,以便数字的小数点对齐。目前,它打印如下所示:

ydisp       0.176
xdisp       -0.509

我想要的是这样的

ydisp        0.176
xdisp       -0.509

我正在使用的代码是

print "{:{width}} {}".format(items,float_dict[items], width=12)

但我现在有点迷茫,我在 Python 2.7 手册中找到了 Mini Language 格式下的以下部分

“在宽度字段前加一个零 ('0') 字符可以为数字类型启用符号感知零填充。这相当于填充字符为 '0' 且对齐类型为 '='。”

我真的无法让它与这个“0”字符一起工作。如果有人可以在这里给我一个提示,那就太好了。

注意:字典键是字符串类型,值是浮点类型。

4

1 回答 1

8

' '用作符号修饰符以包含符号的空格:

>>> '{:20} {: }'.format('ydisp', 0.176)
'ydisp                 0.176'
>>> '{:20} {: }'.format('xdisp', -0.509)
'xdisp                -0.509'

:注意冒号后面的空格。这会导致正数在左侧用空格填充,而负数则显示 a -

于 2013-03-12T15:47:08.193 回答