¿Cómo devuelvo una cadena citada de una tupla?
Pregunta
Tengo una tupla de cadenas que me gustaría extraer el contenido como una cadena entre comillas, es decir,
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"'
Gath
Solución
", ".join('"{0}"'.format(i) for i in tup)
o
", ".join('"%s"' % i for i in tup)
Otros consejos
Bueno, una respuesta sería:
', '.join([repr(x) for x in tup])
o
repr(tup)[1:-1]
Pero eso no es realmente agradable. ;)
Actualizado: Aunque, notado, no podrá controlar si la cadena resultante comienza con '" o '' '. Si eso es importante, debe ser más explícito, como las otras respuestas aquí son:
', '.join(['"%s"' % x for x in tup])
Aquí hay una forma de hacerlo:
>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow