如何在 Python 函数中打印换行符?

在我的代码中有一个字符串列表;

A = ['a1', 'a2', 'a3' ...]
B = ['b1', 'b2', 'b3' ...]

我要把它们分成一行,像这样:

>a1
b1
>a2
b2
>a3
b3

我试过了:

print '>' + A + '/n' + B

但是/n 并不像分行符那样被识别出来。

782867 次浏览

You have your slash backwards, it should be "\n"

The newline character is actually '\n'.

>>> A = ['a1', 'a2', 'a3']
>>> B = ['b1', 'b2', 'b3']


>>> for x in A:
for i in B:
print ">" + x + "\n" + i

Outputs:

>a1
b1
>a1
b2
>a1
b3
>a2
b1
>a2
b2
>a2
b3
>a3
b1
>a3
b2
>a3
b3

Notice that you are using /n which is not correct!

for pair in zip(A, B):
print ">"+'\n'.join(pair)

\n is an escape sequence, denoted by the backslash. A normal forward slash, such as /n will not do the job. In your code you are using /n instead of \n.

All three way you can use for newline character :

'\n'


"\n"


"""\n"""

You can print a native linebreak using the standard os library

import os
with open('test.txt','w') as f:
f.write(os.linesep)

Also if you're making it a console program, you can do: print(" ") and continue your program. I've found it the easiest way to separate my text.

A = ['a1', 'a2', 'a3']
B = ['b1', 'b2', 'b3']
for a,b in zip(A,B):
print(f">{a}\n{b}")

Below python 3.6 instead of print(f">{a}\n{b}") use print(">%s\n%s" % (a, b))