Pergunta

Eu tenho uma tupla de strings que eu gostaria de extrair o conteúdo como uma string, i.

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

Gate

Foi útil?

Solução

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

ou

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

Outras dicas

Bem, uma resposta seria:

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

ou

repr(tup)[1:-1]

Mas isso não é muito bom. ;)

Atualizado: Embora, observou, você não será capaz de controlar se resultando string começa com '" ou '". Se o que importa, você precisa ser mais explícito, como as outras respostas aqui são:

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

Aqui está uma maneira de fazê-lo:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top