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マニュアルの次のセクションをミニ言語のフォーマットで見つけました

「幅フィールドの前にゼロ ('0') 文字を付けると、数値型の符号認識ゼロ パディングが有効になります。これは、整列タイプが '=' の '0' の埋め込み文字と同等です。」

この「0」文字で実際に動作させることはできません。どなたかここでヒントをいただければ幸いです。

注: 辞書のキーは string 型で、値は float 型です。

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 に答える