0

ソートされた行を印刷しようとしました..

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

出力ファイルは次のようになります。

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

4 に答える 4

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
于 2012-10-16T12:17:56.990 に答える
0

ここで他の(正しい)答えのそれぞれから少し借ります:

print foo,改行(python2.x)およびprint(foo, end=' ')python3.xを抑制するために使用できますが、に直接書き込むことをお勧めします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]))
于 2012-10-16T12:48:46.163 に答える
0

各 print ステートメントのすべてのレコードを 1 行に出力するだけの場合は、print ステートメントの末尾にコンマを追加します。

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

各ファイルの後に改行文字を出力するために、最後の行にコンマを入れたり、空の print ステートメントを使用したりしないようにしてください。

于 2012-10-16T12:15:59.953 に答える
0

パラメータ展開を行う必要がなく、そのように見えない場合は、これでうまくいく可能性があります。

print 'accnt {0} accnt {1}'.format(file[line][0],file[line][1])
于 2012-10-16T12:32:06.320 に答える