我想打印一个混合了字符串和浮点值的表,作为制表符分隔输出打印输出.当然,我可以完成工作:
>>> 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
但我觉得有一种更好的方法可以在Python中完成,至少用指定的分隔符打印每一行,如果不是整个表.很小的谷歌搜索(从这里),它已经更短:
>>> for row in tab: ... print "\t".join([str(col) for col in row]) ... a 1 b 2
还有更好的,或更多的Python-ish方式吗?
您的简短解决方案可以很好地用作快速和脏的东西.但是如果你需要处理大量数据,最好使用csv
模块:
import sys, csv writer = csv.writer(sys.stdout, delimiter="\t") writer.writerows(data)
此解决方案的好处是您可以轻松自定义输出格式的所有方面:分隔符,引号,列标题,转义序列......