在Python中使用分隔符打印表的最佳方法是什么

ket*_*rin 4 python coding-style

我想打印一个混合了字符串和浮点值的表,作为制表符分隔输出打印输出.当然,我可以完成工作:

>>> tab = [['a', 1], ['b', 2]]
>>> for row in tab:
...     out = ""
...     for col in row:
...             out = out + str(col) + "\t"
...     print out.rstrip()
... 
a   1
b   2
Run Code Online (Sandbox Code Playgroud)

但我觉得有一种更好的方法可以在Python中完成,至少用指定的分隔符打印每一行,如果不是整个表.很小的谷歌搜索(从这里),它已经更短:

>>> for row in tab:
...     print "\t".join([str(col) for col in row])
... 
a   1
b   2
Run Code Online (Sandbox Code Playgroud)

还有更好的,或更多的Python-ish方式吗?

Ale*_*dev 17

您的简短解决方案可以很好地用作快速和脏的东西.但是如果你需要处理大量数据,最好使用csv模块:

import sys, csv
writer = csv.writer(sys.stdout, delimiter="\t")
writer.writerows(data)
Run Code Online (Sandbox Code Playgroud)

此解决方案的好处是您可以轻松自定义输出格式的所有方面:分隔符,引号,列标题,转义序列......