如何将打印/写入指针移回特定数量的选项卡

时间:2016-05-16 22:02:05

标签: python-2.7

给出以下代码:

l1 = ['001', '002', '003']
print ("ID" + "\t"+ "Usr" + "\t" + "f1" +"\t"+ "f2"+ "\t"+ "f3"+"\n")
print ("12QRS" + "\t"+  "RSW123"+ "".join([ int(z) * "\t" + str(1) for z in l1])+"\n")

输出如下:

12QRS   RSW123  1       1           1

前两个值由一个选项卡分隔。第三,第四和第五根据l1的元素分开,即一个,两个和三个标签。但是,这并不准确,尽管第三个值真正用一个标签分隔,最后两个值不在正确的位置。他们应该定位在两个和那里的标签尊重。我想让最后两个值写入正确的位置?

1 个答案:

答案 0 :(得分:0)

嗯,首先,您可能已经在最后一行代码中颠倒了'\ t'和int(z)的出现顺序。我想应该是,根据你的意图:

print ("12QRS" + "\t"+  "RSW123"+ "".join([ "\t" * int(z) + str(1) for z in l1])+"\n")

然后,第二,为什么不使用与Python字符串相关的格式化功能,使用的解释器是2.7或3.x?只需查看Python 2.7:7.1. string — Common string operations甚至更旧的语法:“ format spec ”%(项目列表)已经在那里讨论过: Python string formatting: % vs. .format