在Python3中打印带空格的数字

时间:2012-12-11 09:21:23

标签: python-3.x

我有一个我要打印的数字列表如下:

          1
          1
          3
         11
         58
        451
      4 461
     49 957
    598 102
  7 437 910
 94 944 685

目前,我通过以下丑陋的代码来实现这一目标:

for count in counts:
    s = str(count)[::-1]
    s = ' '.join([s[i:i+3][::-1] for i in range(0,len(s),3)][::-1])
    print('{:>11}'.format(s))

有没有format可以立即实现这一目标?我在文档中找不到任何内容。

1 个答案:

答案 0 :(得分:1)

您可以在字符串格式化程序中使用千位分隔符,并将其替换为您喜欢的内容:

>>> nums = (1, 3, 11, 58, 451, 4461, 49957, 598102, 7437910, 94944685)
>>> for num in nums:
        print('{:>11,}'.format(num).replace(',', ' '))

          1
          3
         11
         58
        451
      4 461
     49 957
    598 102
  7 437 910
 94 944 685