擅长:python、mysql、java
<p>您可以<a href="https://docs.python.org/2/library/functions.html#zip" rel="nofollow noreferrer"><strong>^{<cd1>}</strong></a>子列表,这样就可以得到值的三元组。然后可以将这些值格式化为宽度为8、5、5的列,右对齐,并用空格填充(请参见<a href="https://pyformat.info/#string_pad_align" rel="nofollow noreferrer">pyformat.info</a>):</p>
<pre><code>for fruit, person, animal in zip(*tableData):
print('{: >8} {: >5} {: >5}'.format(fruit, person, animal))
</code></pre>
<p>要获得更一般的答案,可以获取每列的最大宽度,并为每种宽度创建一个格式字符串:</p>
<pre><code>widths = [max(len(value) for value in column) for column in tableData]
line = ' '.join('{{: >{width}}}'.format(width=width)
for width in widths)
for row in zip(*tableData):
print(line.format(*row))
</code></pre>