这就是我喜欢 Python 的地方——总有一些东西阻止你重新发明轮子。
对于您的用例,prettytable 非常适合:
import prettytable
l = [
[3, 4, -4, -8, -10, -12],
[5, 5, 3, -3, -4, -44],
[34, -4, -34, -22, 22, 22]
]
table = prettytable.PrettyTable(header=False, vrules=prettytable.FRAME)
for row in l:
table.add_row(row)
print table
打印:
+----+----+-----+-----+-----+-----+
| 3 | 4 | -4 | -8 | -10 | -12 |
| 5 | 5 | 3 | -3 | -4 | -44 |
| 34 | -4 | -34 | -22 | 22 | 22 |
+----+----+-----+-----+-----+-----+
同时检查包文档页面的Manually changing table style 段落。
也有texttable,但在调整表格外观和感觉方面功能较弱:
import texttable
l = [
[3, 4, -4, -8, -10, -12],
[5, 5, 3, -3, -4, -44],
[34, -4, -34, -22, 22, 22]
]
table = texttable.Texttable()
table.add_rows(l, header=False)
print table.draw()
打印:
+----+----+-----+-----+-----+-----+
| 3 | 4 | -4 | -8 | -10 | -12 |
+----+----+-----+-----+-----+-----+
| 5 | 5 | 3 | -3 | -4 | -44 |
+----+----+-----+-----+-----+-----+
| 34 | -4 | -34 | -22 | 22 | 22 |
+----+----+-----+-----+-----+-----+
另一个选项是tabulate,它引入了一组预定义的表格格式,例如“网格”:
from tabulate import tabulate
l = [
[3, 4, -4, -8, -10, -12],
[5, 5, 3, -3, -4, -44],
[34, -4, -34, -22, 22, 22]
]
table = tabulate(l, tablefmt="grid")
print table
打印:
+----+----+-----+-----+-----+-----+
| 3 | 4 | -4 | -8 | -10 | -12 |
+----+----+-----+-----+-----+-----+
| 5 | 5 | 3 | -3 | -4 | -44 |
+----+----+-----+-----+-----+-----+
| 34 | -4 | -34 | -22 | 22 | 22 |
+----+----+-----+-----+-----+-----+
另见相关主题: