2012-03-01 15 views
9

diciamo che ho stringa:Python: conversione da tupla a stringa?

s = "Tuple: " 

e Tuple (memorizzato in una chiamata tup variabile):

(2, a, 5) 

Sto cercando di ottenere la mia stringa per contenere il valore "Tuple: (2, a, 5) ". Ho notato che non puoi semplicemente concatenarli. Qualcuno conosce il modo più semplice per farlo? Grazie.

risposta

27

Questo funziona anche:

>>> s = "Tuple: " + str(tup) 
>>> s 
"Tuple: (2, 'a', 5)" 
+0

Sì, questo è sicuramente il modo più diretto! –

7
>>> tup = (2, "a", 5) 
>>> s = "Tuple: {}".format(tup) 
>>> s 
"Tuple: (2, 'a', 5)" 
+2

Perché il {} bisogno di essere lì dentro? –

+0

Ad esempio, cosa succede se volevo che fosse "Tuple (2, a, 5)" invece di "Tuple: (2, a, 5)" con due punti? –

+2

@JacobGriffin, usa una stringa di formato -> http://docs.python.org/library/stdtypes.html#str.format, prova il codice – Fred

10

Prova ad unirti alla tupla. Abbiamo bisogno di usare map (str, tup) in quanto alcuni dei tuoi valori sono numeri interi e join accetta solo stringhe.

s += "(" + ', '.join(map(str,tup)) + ")"