I am trying to return a variable from a list of strings in double quotes rather than single.
For example, if my list is
List = [\"A\", \"B\"]
You could use json.dumps()
>>> import json
>>> List = ["A", "B"]
>>> print json.dumps(List)
["A", "B"]
If you need the output formatted in a particular way, use something like str.format():
>>> print('"{0}"'.format(List[0]))
"A"
The quotes you used to define the strings in the list are forgotten by Python as soon as the line is parsed. If you want to emit a string with quotes around it, you have to do it yourself.
What you're seeing is the Python interpreter displaying a string representation of the value of the expression. Specifically, if you type an expression into the interpreter that doesn't evaluate to None
, it will call repr on the result in order to generate a string representation that it can display. For a string, this includes single quotes.
The interactive interpreter is essentially doing something like this each time you type in an expression (called, say, expr
):
result = expr
if result is not None:
print(repr(result))
Note that my example, print
returns None
, so the interpreter itself doesn't print anything. Meanwhile, the print
function outputs the string itself, bypassing the logic above.