qwertylpc
qwertylpc

Reputation: 2106

Add double quotes to string in python

If my input text is

a
b
c
d
e
f
g

and I want my output text to be: (with the double quotes)

"a b c d e f g"

Where do I go after this step:

" ".join([a.strip() for a in b.split("\n") if a])

Upvotes: 9

Views: 104434

Answers (2)

James
James

Reputation: 2711

You have successfully constructed a string without the quotes. So you need to add the double quotes. There are a few different ways to do this in Python:

>>> my_str = " ".join([a.strip() for a in b.split("\n") if a])
>>> print '"' + my_str + '"'     # Use single quotes to surround the double quotes
"a b c d e f g"
>>> print "\"" + my_str + "\""   # Escape the double quotes
"a b c d e f g"
>>> print '"%s"' % my_str        # Use old-style string formatting
"a b c d e f g"
>>> print '"{}"'.format(my_str)  # Use the newer format method
"a b c d e f g"

Or in Python 3.6+:

>>> print(f'"{my_str}"')         # Use an f-string
"a b c d e f g"  

Any of these options are valid and idiomatic Python. I might go with the first option myself, or the last in Python 3, simply because they're the shortest and clearest.

Upvotes: 20

CentAu
CentAu

Reputation: 11160

'"%s"' % " ".join([a.strip() for a in s.split("\n") if a])

Upvotes: 3

Related Questions