2009-09-17 100 views
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"' 

迦特

+0

你关心,如果字符串已经在他们报价? – 2009-09-17 16:38:13

回答

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

", ".join('"%s"' % i for i in tup) 
2

嗯,一个答案会成为:

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

repr(tup)[1:-1] 

但是,这不是真的很好。 ;)

更新: 虽然,注意到,您将无法控制结果字符串是否以'“或'”开头。如果该事项,你需要更加明确的,像这里其他的答案是:

', '.join(['"%s"' % x for x in tup]) 
+0

错过关闭角度支架 – gath 2009-09-17 16:27:09

+0

如果tup中的字符串可能含有引号并且您在意(例如,您想要检索引号中的内容),则应使用repr(x)。 – 2009-09-17 16:39:43

0

下面是做这件事:

>>> t = ('s1', 's2', 's3') 
>>> ", ".join(s.join(['"','"']) for s in t) 
'"s1", "s2", "s3"' 
相关问题