Как вернуть строку в кавычках из кортежа? - PullRequest
1 голос
/ 17 сентября 2009

У меня есть кортеж строк, которые я хотел бы извлечь из содержимого в виде строки в кавычках, т.е.

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"'

Гаф

Ответы [ 3 ]

9 голосов
/ 17 сентября 2009
", ".join('"{0}"'.format(i) for i in tup)

или

", ".join('"%s"' % i for i in tup)
2 голосов
/ 17 сентября 2009

Ну, один ответ будет:

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

или

repr(tup)[1:-1]

Но это не очень хорошо. ;)

Обновлено: Хотя, как вы заметили, вы не сможете контролировать, начинается ли полученная строка с «или». Если это имеет значение, вам нужно быть более четким, как и другие ответы здесь:

', '.join(['"%s"' % x for x in tup])
0 голосов
/ 17 сентября 2009

Вот один из способов сделать это:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...