我希望我的标签中的一位数数字与其他多位数数字更好地对齐

2024-05-08 12:54:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码

def table():
    print(A)
    print(B)
    print(C)
    print(D)

这就是它看起来的样子

[7, 13, 10, 8]
[12, 14, 6, 5]
[15, 9, 2, 11]
[1, 3, 0, 4]

我想让数字排得更好,有点像这样

[ 7, 13, 10,  8]
[12, 14,  6,  5]
[15,  9,  2, 11]
[ 1,  3,  0,  4]

或者更好的东西,以便更容易阅读。当桌子变得更大时,这将是特别必要的

我找到了一篇可以解决我的问题的老文章,但我认为它是针对较旧版本的python的,因此在当前版本的python中不起作用

Printing with exactly 1 space if a single digit?


Tags: 版本密码ifdefwith文章table数字
1条回答
网友
1楼 · 发布于 2024-05-08 12:54:35

That old question/answer you linked与当前版本的Python配合得很好,您只需要在print的参数周围添加paren(旧的print是一个语句,而不是函数,因此不需要括号)

对于您的具体情况,代码如下:

print('[{}]'.format(','.join(map('{:3}'.format, A))))

我会成功的。将{}中的每个元素(使用map)通过'{:3}'.format格式化为(至少)三个空格宽(您只要求两个,但您碰巧在每个逗号后留下了一个空格,如果遇到三个数字值,我们也可以使用它),用空格填充,通过','.join将它们连接在一起,然后通过'[{}]'.format将结果放在方括号中

相关问题 更多 >