Frage

Ich habe ein Tupel von Strings, die ich will, würde den Inhalt als Zeichenfolge in Anführungszeichen extrahieren, d.

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

War es hilfreich?

Lösung

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

oder

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

Andere Tipps

Nun, eine Antwort wäre:

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

oder

repr(tup)[1:-1]

Aber das ist nicht wirklich schön. ;)

Aktualisiert: Obwohl erwähnt, wird es nicht möglich sein, wenn zu steuern String resultierende beginnt mit ‚“ oder ‚“. Wenn es ankommt, müssen Sie mehr explizit sein, wie die anderen Antworten sind hier:

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

Hier ist eine Möglichkeit, es zu tun:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top