I have a list of strings in my code;
A = ['a1', 'a2', 'a3' ...] B = ['b1', 'b2', 'b3' ...] and I want to print them separated by a linebreak, like this:
>a1 b1 >a2 b2 >a3 b3 I've tried:
print '>' + A + '/n' + B But /n isn't recognized like a line break.
19 Answers
You have your slash backwards, it should be "\n"
The newline character is actually '\n'.
All three way you can use for newline character :
'\n' "\n" """\n""" 1>>> 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.
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))