假设python数组“myarray”包含:
mylist = [u'a',u'b',u'c']
我想要一个包含数组中所有元素的字符串,同时保留这样的双引号(注意没有括号,而是括号):
result = "('a','b','c')"
我尝试使用",".join(mylist)
,但它给了我“a,b,c”的结果并删除了单引号。
答案 0 :(得分:6)
你很亲密,我就是这样做的:
result = "('%s')" % "','".join(mylist)
答案 1 :(得分:1)
这个怎么样:
>>> mylist = [u'a',u'b',u'c']
>>> str(tuple(map(str, mylist)))
"('a', 'b', 'c')"
答案 2 :(得分:0)
答案 3 :(得分:0)
试试这个:
result = "({})".format(",".join(["'{}'".format(char) for char in mylist]))
答案 4 :(得分:0)
>>> l = [u'a', u'b', u'c']
>>> str(tuple([str(e) for e in l]))
"('a', 'b', 'c')"
在列表str
的每个元素e
上调用l
会将Unicode字符串转换为原始字符串。接下来,对列表推导的结果调用tuple
将用括号替换方括号。最后,在结果上调用str
应该返回带括在括号中的单引号的元素列表。
答案 5 :(得分:0)
这是另一种变体:
mylist = [u'a',u'b',u'c']
result = "\"{0}\"".format(tuple(mylist))
print(result)
输出:
"('a', 'b', 'c')"