【问题标题】:How to convert list into string with quotes in python如何在python中将列表转换为带引号的字符串
【发布时间】:2013-04-17 08:12:26
【问题描述】:

我有一个列表,希望它是一个带引号的字符串 mylist = [1,2,3]

要求 O/P 为 myString = "'1','2','3'"

我试过mystring = '\',\''.join(mylist)

它给了我结果

mystring = "1','2','3"

第一个和最后一个引号 (') 丢失

【问题讨论】:

  • 您只需获取计算结果,然后在其周围添加单引号作为第二步:mystring = "'"+mystring+"'"

标签: python string type-conversion


【解决方案1】:

这似乎是迄今为止唯一不是破解的解决方案...

>>> mylist = [1,2,3]
>>> ','.join("'{0}'".format(x) for x in mylist)
"'1','2','3'"

这也可以写成更简洁:

>>> ','.join(map("'{0}'".format, mylist))
"'1','2','3'"

或者,使用 f 字符串:

>>> mylist = [1,2,3]
>>> ','.join(f"'{x}'" for x in mylist)
"'1','2','3'"

【讨论】:

    【解决方案2】:

    或普通repr

    >>> l=[1,2,3]
    >>> ','.join(repr(str(i)) for i in l)
    "'1','2','3'"
    >>> 
    

    【讨论】:

      【解决方案3】:
      >>> mylist = [1,2,3]
      >>> str([str(x) for x in mylist]).strip("[]")
      "'1','2','3'"
      

      【讨论】:

        【解决方案4】:

        作为一个简单的黑客,你为什么不..

        mystring = "'%s'" %"','".join(mylist)
        

        将命令结果用引号括起来?

        【讨论】:

          【解决方案5】:

          你也可以这样做

          mylist = [1, 2, 3]
          mystring = str(map(str, mylist)).strip("[]")
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-02-02
            • 2012-10-25
            • 2019-03-07
            • 1970-01-01
            • 2022-07-20
            • 1970-01-01
            • 2012-05-12
            • 2022-11-21
            相关资源
            最近更新 更多