2012-03-01 35 views
9

vamos a decir que no tengo cadena:Python: ¿Convertir de Tuple a String?

s = "Tuple: " 

y Tupla (almacenado en un TUP variable llamada):

(2, a, 5) 

que estoy tratando de conseguir mi cadena para contener el valor Tupla": (2, a, 5) ". Noté que no puedes concatenarlos. ¿Alguien sabe la forma más directa de hacer esto? Gracias.

Respuesta

27

Esto también funciona:

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

Sí, esta es definitivamente la manera más directa. –

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

¿Por qué el {} tienen que estar ahí? –

+0

Por ejemplo, ¿qué pasa si solo quisiera que fuera "Tuple (2, a, 5)" en lugar de "Tuple: (2, a, 5)" con dos puntos? –

+2

@JacobGriffin, use una cadena de formato -> http://docs.python.org/library/stdtypes.html#str.format, intente con el código – Fred

10

Pruebe unir la tupla. Necesitamos usar map (str, tup) ya que algunos de sus valores son enteros, y join solo acepta strings.

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