如何从python列表中提取字符串?

时间:2013-09-16 15:37:59

标签: python

假设python数组“myarray”包含:

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

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

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

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

6 个答案:

答案 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)

repr()怎么样?

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

有关repr()

的更多信息

答案 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')"