0

假设一个 python 数组“myarray”包含:

mylist = [u'a',u'b',u'c']

我想要一个包含数组中所有元素的字符串,同时保留这样的双引号(注意没有括号,而是括号):

result = "('a','b','c')"

我尝试使用",".join(mylist),但它给了我 "a,b,c" 的结果并消除了单引号。

4

6 回答 6

6

你非常接近,这就是我会这样做的方式:

result = "('%s')" % "','".join(mylist)
于 2013-09-16T15:42:09.427 回答
1

那这个呢:

>>> mylist = [u'a',u'b',u'c']
>>> str(tuple(map(str, mylist)))
"('a', 'b', 'c')"
于 2013-09-16T15:41:45.063 回答
0

怎么样repr()

>>> repr(tuple(mylist))
"(u'a', u'b', u'c')"

有关repr()的更多信息

于 2013-09-16T15:39:21.557 回答
0

尝试这个:

result = "({})".format(",".join(["'{}'".format(char) for char in mylist]))
于 2013-09-16T15:42:13.983 回答
0
>>> l = [u'a', u'b', u'c']
>>> str(tuple([str(e) for e in l]))
"('a', 'b', 'c')"

调用列表中的str每个元素会将 Unicode 字符串转换为原始字符串。接下来,调用列表推导的结果将用括号替换方括号。最后,调用它的结果应该返回带有括号中单引号的元素列表。eltuplestr

于 2013-09-16T15:43:04.653 回答
0

这是另一个变体:

mylist = [u'a',u'b',u'c']
result = "\"{0}\"".format(tuple(mylist))
print(result)

输出:

"('a', 'b', 'c')"    
于 2017-09-15T00:31:40.877 回答