【问题标题】:right aligning this column [duplicate]右对齐此列[重复]
【发布时间】:2012-10-12 20:36:15
【问题描述】:

可能重复:
How do I right-align my text in 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   

【问题讨论】:

标签: python


【解决方案1】:
>>> 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 上的文档。

【讨论】:

    【解决方案2】:
    cell_width = 6
    
    for row in data:
        #"%-6s"%val will right format 6  spaces
        print ("%-"+cell_width+"s ")*len(row) % row
    

    无论如何都是这样的......我应该注意 % 字符串格式被认为是折旧的......

    【讨论】:

      【解决方案3】:

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

      for line in data.splitlines():
          print ' '.join(el.rjust(5) for el in line.split())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-03
        • 2018-07-29
        • 1970-01-01
        • 1970-01-01
        • 2020-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多