在Python中对齐字符串

时间:2015-12-22 14:18:03

标签: python

我在Python中搜索创建对齐的字符串并找到了一些相关的东西,但是对我来说不起作用。这是一个例子:

for line in [[1, 128, 1298039], [123388, 0, 2]]:
    print('{:>8} {:>8} {:>8}'.format(*line))

输出:

       1      128  1298039
  123388        0        2

这是我在shell中看到的:

Shell screenshot

如您所见,对齐没有发生。使用\t时会出现同样的问题。 如何以整齐的表格格式对齐字符串?

1 个答案:

答案 0 :(得分:3)

您已将IDLE shell配置为使用比例字体,该字体对不同的字符使用不同的宽度。请注意()对如何占用与其上方>字符几乎相同的水平空间。

您的代码完全正确;使用固定宽度字体,数字正确排列。

切换为使用固定宽度字体。 Courier是一个很好的默认选择,但Windows安装了各种其他字体,包括Consolas。

选项中配置字体 - >配置IDLE 菜单。从“字体面”列表中选择一种不同的字体。下面面板中的示例字符应该排成一行(除了最后的第二行k,它应该突出显示)。