0

重複の可能性:
Python でテキストを右揃えにするにはどうすればよいですか?

4   8   12   16   
20   24   28   32   
36   40   44   48   
52   56   60   64   
68   72   76   80   
84   88   92   96   
100   104   108   112   
116   120   124   128   
132   136   140   144   
148   152   156   160   

今こんな感じのコラムがあります。次のように列を右揃えにする方法を教えてください。

  4     8    12    16   
 20    24    28    32   
 36    40    44    48   
 52    56    60    64   
 68    72    76    80   
 84    88    92    96   
100   104   108   112   
116   120   124   128   
132   136   140   144   
148   152   156   160   
4

3 に答える 3

5
>>> for line in data:
...     print '   '.join('{:>3}'.format(i) for i in line.split())
...
  4     8    12    16
 20    24    28    32
 36    40    44    48
 52    56    60    64
 68    72    76    80
 84    88    92    96
100   104   108   112
116   120   124   128
132   136   140   144
148   152   156   160

Format String Syntaxのドキュメントを参照してください。

于 2012-10-22T23:39:01.953 に答える
0
cell_width = 6

for row in data:
    #"%-6s"%val will right format 6  spaces
    print ("%-"+cell_width+"s ")*len(row) % row

とにかくそのようなもの... % 文字列の書式設定は減価償却されていると見なされることに注意してください...

于 2012-10-22T23:40:51.167 に答える
0

str.rjust文字列の書式設定だけでなく、このための文字列用の組み込み関数もあります。

for line in data.splitlines():
    print ' '.join(el.rjust(5) for el in line.split())
于 2012-10-22T23:55:31.290 に答える