Return a variable in a Python list with double quotes instead of single

后端 未结 2 611
小蘑菇
小蘑菇 2021-02-07 00:00

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\"]


        
相关标签:
2条回答
  • 2021-02-07 00:48

    You could use json.dumps()

    >>> import json
    >>> List = ["A", "B"]
    >>> print json.dumps(List)
    ["A", "B"]
    
    0 讨论(0)
  • 2021-02-07 00:55

    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.

    0 讨论(0)
提交回复
热议问题