如何在python中横向打印线条?

时间:2012-10-16 12:11:37

标签: python formatting

我试图打印排序的行..

print accnt, '{}'.format(*file[line][0])#the year 1 .. Accnt.1 2004
print accnt, '{}'.format(*file[line][1])#the year 2 .. Accnt.1 2009

outfile结果如下:

File 1
Accnt.1 2004
Accnt.1 2009
Accnt.2 2001
Accnt.2 2005

我怎么能像这样打印出来:

File 1
Accnt.1 2004 Accnt.1 2009
Accnt.2 2001 Accnt.2 2005

谢谢!

4 个答案:

答案 0 :(得分:1)

在python 2.x中使用尾随逗号,在python 3.x中使用print(x,end=' ')

In [165]: l=[1,2,3,4,5,6]

In [166]: for x in l:
     ...:     print x,
     ...:     
1 2 3 4 5 6

In [167]: for x in l:
     ...:     print x
     ...:     
1
2
3
4
5
6

答案 1 :(得分:0)

如果您只想在一行上打印每个print语句的每条记录,请在print语句的末尾添加一个逗号:

print accnt, '{}'.format(*file[line][0]),
print accnt, '{}'.format(*file[line][1])

确保不要在最后一行使用逗号,或使用空的print语句在每个文件后打印换行符。

答案 2 :(得分:0)

如果您不需要进行参数扩展,并且看起来不像,那么这可能会有效。

print 'accnt {0} accnt {1}'.format(file[line][0],file[line][1])

答案 3 :(得分:0)

在这里借用其他(正确)答案中的一点:

虽然您可以使用print foo,来压缩python3.x中的换行符(在python2.x中)和print(foo, end=' '),但我建议您直接写入sys.stdout。这有一个跨python版本的统一接口 -

sys.stdout.write('accnt {0} accnt {1}\n'.format(file[line][0],file[line][1]))

或更简单:

sys.stdout.write('accnt {0} accnt {1}\n'.format(*(file[line]))