Domanda

Ho una tupla di stringhe che vorrei estrarre il contenuto come stringa tra virgolette, ad esempio

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

Gat

È stato utile?

Soluzione

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

o

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

Altri suggerimenti

Bene, una risposta sarebbe:

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

o

repr(tup)[1:-1]

Ma non è proprio carino. ;)

Aggiornamento: Sebbene, notato, non sarai in grado di controllare se la stringa risultante inizia con '" o "" ;. Se è importante, devi essere più esplicito, come le altre risposte qui sono:

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

Ecco un modo per farlo:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top