我有一个我要打印的数字列表如下:
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
可以立即实现这一目标?我在文档中找不到任何内容。
答案 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