"for"ループ内に複数行の文字列を印刷しようとしています。問題は、出力をすべて同じ行に出力したいということです。例:"for"ループ内の複数行印刷
for i in range(5):
print('''
{a}
|
{b}
'''.format(a=i,b=i+1))
出力は次のようになります。
0
|
1
1
|
2
2
|
3
3
|
4
4
|
5
代わりに、私はそれがしたい:
0 1 2 3 4
| | | | |
1 2 3 4 5
しかし、私はそれを行う方法を得ることができません。助けてくれてありがとう。
+1これが最もpythonのように感じます。リスト内包表記をジェネレータ表現に切り替えるといいでしょう。 str.joinは任意の反復可能性を取ることができます。 –
@DavisYoshida前にジェネレータ表現を見つけたことはありません - これはちょうど ''' .join(range(x))'を使っていますか? – Tim
@Tim No.しかし、中間リストの作成を避けるので、 '[]'角カッコを省略することができます。したがって、メモリを節約することができます: '.join(str(i)for i in range(x)) ' – schwobaseggl