Geparada
Geparada

Reputation: 3038

How to print a linebreak in a python function?

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.

Upvotes: 115

Views: 815662

Answers (9)

silgon
silgon

Reputation: 7221

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))

Upvotes: 1

INfoUpgraders
INfoUpgraders

Reputation: 33

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.

Upvotes: 2

philshem
philshem

Reputation: 25371

You can print a native linebreak using the standard os library

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

Upvotes: 2

Varun Kumar
Varun Kumar

Reputation: 174

All three way you can use for newline character :

'\n'

"\n"

"""\n"""

Upvotes: 12

user6536489
user6536489

Reputation:

\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.

Upvotes: 2

Winston Ewert
Winston Ewert

Reputation: 45059

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

Upvotes: 266

inspectorG4dget
inspectorG4dget

Reputation: 114035

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

Upvotes: 10

Trufa
Trufa

Reputation: 40737

>>> 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!

Upvotes: 11

Zach Kelling
Zach Kelling

Reputation: 53879

The newline character is actually '\n'.

Upvotes: 37

Related Questions