4

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

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

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

它给了我结果

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

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

4

5 回答 5

27

到目前为止,这似乎是唯一不是黑客的解决方案......

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

这也可以更简洁地写成:

>>> ','.join(map("'{0}'".format, mylist))
"'1','2','3'"
于 2013-04-17T08:13:30.327 回答
3
>>> mylist = [1,2,3]
>>> str([str(x) for x in mylist]).strip("[]")
"'1','2','3'"
于 2013-04-17T08:46:51.490 回答
2

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

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

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

于 2013-04-17T08:16:42.397 回答
1

你也可以这样做

mylist = [1, 2, 3]
mystring = str(map(str, mylist)).strip("[]")
于 2013-04-17T08:24:29.253 回答
1

OR regular repr:

>>> l=[1,2,3]
>>> ','.join(repr(str(i)) for i in l)
"'1','2','3'"
>>> 
于 2018-09-05T02:00:43.923 回答