Skip to main content
 首页 » 编程设计

Python之将数组的数组打印为表格

2025年05月04日15www_RR

给定数组 A 定义为

A = [[1, 2, 3, 4], [10, 20, 30, 40], [100, 200, 300, 400]], 

如果打印函数被调用

for i in range(0,3): 
    print A[i] 

下面是输出

[1, 2, 3, 4] 
[10, 20, 30, 40] 
[100, 200, 300, 400]. 

如何获得像这样“更漂亮”的输出:

[  1,   2,   3,   4] 
[ 10,  20,  30,  40] 
[100, 200, 300, 400] 

??? 谢谢

请您参考如下方法:

您只需要知道可能存在的最大位数。如果如您的示例所示位数为三,请执行以下操作:

for i in A: 
    print(", ".join([str(l).rjust(3) for l in i])) 

使用 str(i).rjust(3)放 i在宽度为 3 的字段中右对齐,其中额外字符为空格。您可以使用 str(i).zfill(3) 将它们设为零, 或者你可以用 str(i).rjust(3, "&") 做任何你想要的例如。

输出:

  1,   2,   3,   4 
 10,  20,  30,  40 
100, 200, 300, 400 

当然,为了适用于更多情况,你可以使用len(str(max(map(max, A))))而不是对 3 进行硬编码。