我有一个列表,并希望它作为带引号的字符串
mylist = [1,2,3]
要求O / P为
myString = "'1','2','3'"
我试过mystring = '\',\''.join(mylist)
它给了我结果
mystring = "1','2','3"
缺少第一个和最后一个引号(')
答案 0 :(得分:17)
这似乎是到目前为止唯一不是黑客攻击的解决方案......
>>> mylist = [1,2,3]
>>> ','.join("'{0}'".format(x) for x in mylist)
"'1','2','3'"
这也可以更紧凑地写成:
>>> ','.join(map("'{0}'".format, mylist))
"'1','2','3'"
答案 1 :(得分:2)
作为一个简单的黑客,你为什么不..
mystring = "'%s'" %"','".join(mylist)
将命令的结果包装在引号中?
答案 2 :(得分:1)
你也可以这样做
mylist = [1, 2, 3]
mystring = str(map(str, mylist)).strip("[]")
答案 3 :(得分:1)
>>> mylist = [1,2,3]
>>> str([str(x) for x in mylist]).strip("[]")
"'1','2','3'"
答案 4 :(得分:0)
或常规repr
:
>>> l=[1,2,3]
>>> ','.join(repr(str(i)) for i in l)
"'1','2','3'"
>>>