我希望单位数字与表格中的其他多位数字更好地对齐

时间:2019-06-19 01:17:31

标签: python-3.x

这是我的代码

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?

1 个答案:

答案 0 :(得分:0)

That old question/answer you linked在当前版本的Python上运行良好,您只需要在print的参数周围添加括号(旧的print是一个语句,而不是函数,因此不需要括号。

对于您的特定情况,代码如下:

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

可以解决问题。这样会将map中的每个元素(使用A格式化为'{:3}'.format至少(至少)三个空格(您只要求输入两个,但是碰巧在每个逗号后都留了一个空格,并且最好在遇到三个数字值时使用它),使用空格填充,并通过','.join将其与逗号连接起来,然后通过'[{}]'.format将结果放在方括号中。