python中的“ {:<20}” format_string是什么意思?

时间:2018-12-24 00:12:42

标签: python

{:<20} {:> 4}在format_string中是什么意思?

初学者

popularity = [["Language", 2017, 2012, 2007, 2002, 1997, 1992, 1987], 
          ["Java", 1, 2, 1, 1, 15, 0, 0],
          ["C", 2, 1, 2, 2, 1, 1, 1],
          ["C++", 3, 3, 3, 3, 2, 2, 5],
          ["C#", 4, 4, 7, 13, 0, 0, 0],
          ["Python", 5, 7, 6, 11, 27, 0, 0],
          ["Visual Basic .NET", 6, 17, 0, 0, 0, 0, 0],
          ["PHP", 7, 6, 4, 5, 0, 0, 0],
          ["JavaScript", 8, 9, 8, 7, 23, 0, 0],
          ["Perl", 9, 8, 5, 4, 4, 10, 0]]

format_string = "{:<20}  {:>4}  {:>4}  {:>4}  {:>4}  {:>4}  {:>4}  {:>4}"

1 个答案:

答案 0 :(得分:5)

文档here

  

format_spec :: = [[fill] align] [sign] [#] [0] [width] [grouping_option] [。precision] [type]

     

'<':强制将字段在可用空间内左对齐(这是大多数对象的默认设置)。

     

'>':强制字段在可用空间内右对齐(这是数字的默认值)。

所以{:<20}的意思是左对齐宽度20。类似地,{:>4}的意思是右对齐宽度4。

查看其工作原理:

for l in popularity: print(format_string.format(*l))

输出:

Language              2017  2012  2007  2002  1997  1992  1987
Java                     1     2     1     1    15     0     0
C                        2     1     2     2     1     1     1
C++                      3     3     3     3     2     2     5
C#                       4     4     7    13     0     0     0
Python                   5     7     6    11    27     0     0
Visual Basic .NET        6    17     0     0     0     0     0
PHP                      7     6     4     5     0     0     0
JavaScript               8     9     8     7    23     0     0
Perl                     9     8     5     4     4    10     0

顺便说一下,Python ranked Top 1 in 2017stays on top in 2018