我试图打印排序的行..
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
谢谢!
答案 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]))