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

请参阅有关格式化字符串语法的文档。

于 2012-10-22T23:39:01.953 回答
0

除了字符串格式化之外,还有一个用于字符串的内置函数str.rjust

for line in data.splitlines():
    print ' '.join(el.rjust(5) for el in line.split())
于 2012-10-22T23:55:31.290 回答
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 回答