<p>您可以使用<a href="https://docs.python.org/2/library/string.html#formatspec" rel="nofollow">str.format mini-language</a>,您将需要获得最大位数的数字,并使用该对齐或居中使其适用于任何数据:</p>
<pre><code>numbers = [[3, 4, 5, 6, 7], [4, 5, 7, 8, 9], [6, 7, 9, 5, 3], [3, 23, 56, 67, 4],
[54, 67, 4, 3, 2], [4, 5, 6, 7, 7], [8, 8, 8, 8, 8]]
print(" ".join(["Row{:<2}".format(i) for i in range(1, len(numbers[0])+1)]))
for w1 in numbers:
print("".join(["{:^6}".format(i) for i in w1]))
</code></pre>
<p>以输出为中心<code>^</code>:</p>
^{pr2}$
<p>左对齐:</p>
<pre><code>print(" ".join(["Row{:<2}".format(i) for i in range(1, len(numbers[0])+1)]))
for w1 in numbers:
print("".join(["{:<6}".format(i) for i in w1]))
</code></pre>
<p>输出:</p>
<pre><code>Row1 Row2 Row3 Row4 Row5
3 4 5 6 7
4 5 7 8 9
6 7 9 5 3
3 23 56 67 4
54 67 4 3 2
4 5 6 7 7
8 8 8 8 8
</code></pre>
<p>{zip>如果您希望每个列都是cd2}:</p>
<pre><code>print("".join(["Row{:<3}".format(i) for i in range(1, len(numbers)+1)]))
for w1 in zip(*numbers):
print("".join(["{:<6}".format(i) for i in w1]))
</code></pre>
<p>输出:</p>
<pre><code>Row1 Row2 Row3 Row4 Row5 Row6 Row7
3 4 6 3 54 4 8
4 5 7 23 67 5 8
5 7 9 56 4 6 8
6 8 5 67 3 7 8
7 9 3 4 2 7 8
</code></pre>
<p>要处理任何数据,我们需要找出最大字符串的长度,并将其用作调整的数量:</p>
<pre><code>numbers = [[3, 4, 5, 6, 7], [4, 5, 3333232327, 8, 9], [6, 7, 9, 5, 3], [3, 23, 56, 67, 4],
[54, 67, 4, 3, 2], [4, 5, 6, 7, 3237], [8, 8, 8, 8, 8] ]
mx = max(len(str(i)) for sub in numbers for i in sub) + 1
print("".join(["Row{:<{mx}}".format(i,mx=mx-3) for i in range(1, len(numbers)+1)]))
for w1 in zip(*numbers):
print("".join(["{:<{mx}}".format(i, mx=mx) for i in w1]))
</code></pre>
<p>输出:</p>
<pre><code>Row1 Row2 Row3 Row4 Row5 Row6 Row7
3 4 6 3 54 4 8
4 5 7 23 67 5 8
5 3333232327 9 56 4 6 8
6 8 5 67 3 7 8
7 9 3 4 2 3237 8
</code></pre>