1

我有一个字符串元组,我想将其内容提取为带引号的字符串,即

tup=('string1', 'string2', 'string3')

when i do this

main_str = ",".join(tup)

#i get

main_str = 'string1, string2, string3'

#I want the main_str to have something like this

main_str = '"string1", "string2", "string3"'

加思

4

3 回答 3

10
", ".join('"{0}"'.format(i) for i in tup)

或者

", ".join('"%s"' % i for i in tup)
于 2009-09-17T16:21:51.150 回答
2

嗯,一个答案是:

', '.join([repr(x) for x in tup])

或者

repr(tup)[1:-1]

但这不是很好。;)

更新:虽然,请注意,如果结果字符串以 '" 或 '" 开头,您将无法控制。如果这很重要,您需要更加明确,就像这里的其他答案一样:

', '.join(['"%s"' % x for x in tup])
于 2009-09-17T16:21:59.497 回答
0

这是一种方法:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
于 2009-09-17T16:23:56.140 回答