【问题标题】:Aligning strings in Python在 Python 中对齐字符串
【发布时间】:2016-03-28 20:07:17
【问题描述】:

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

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

输出:

       1      128  1298039
  123388        0        2

这是我在 shell 中看到的:

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

【问题讨论】:

    标签: python


    【解决方案1】:

    您已将 IDLE shell 配置为使用 proportional 字体,一种对不同字符使用不同宽度的字体。请注意 () 对占用的水平空间量与它上面的 > 字符几乎相同。

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

    改为使用 固定宽度 字体。 Courier 是一个不错的默认选择,但 Windows 安装了各种其他成比例的字体,包括 Consolas。

    选项 -> 配置 IDLE 菜单中配置字体。从 Font Face 列表中选择不同的字体。下面面板中的示例字符应该对齐(除了最后的第二行k,它应该突出)。

    【讨论】:

    • 感谢@MartijnPeters。是否有其他固定宽度字体可用?
    • @SamChats:很多。它们也被称为“等宽”,在谷歌上搜索更多。想不到:Lucida Sans Typewriter、Monaco、Andale Mono、Menlo、Courier、Courier New、PT Mono、Bitstream Vera Sans Mono 等。
    猜你喜欢
    • 2014-05-08
    • 2020-12-03
    • 2015-02-03
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2016-05-11
    • 2012-05-24
    相关资源
    最近更新 更多