Python convierte tupla en cadena


98

Tengo una tupla de personajes como estos:

('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')

¿Cómo lo convierto en una cadena para que sea como:

'abcdgxre'

1
Prueba esto tambiénreduce(add, ('a', 'b', 'c', 'd'))
— Grijesh Chauhan

¿Qué hay adden este ejemplo @GrijeshChauhan?
— Steve

@Steve Necesitas importar la addfunción del operatormódulo. Por cierto, se "".joinadapta mejor aquí, pero si desea agregar diferentes tipos de objetos, puede usar agregar Verifique este ejemplo de trabajo
— Grijesh Chauhan

Respuestas:


165

Utilizar str.join:

>>> tup = ('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')
>>> ''.join(tup)
'abcdgxre'
>>>
>>> help(str.join)
Help on method_descriptor:

join(...)
    S.join(iterable) -> str

    Return a string which is the concatenation of the strings in the
    iterable.  The separator between elements is S.

>>>

23
No funciona si la tupla contiene números. Try tup = (3, None, None, None, None, 1406836313736)
— Raj

56
Para los números, puede probar esto:''.join(map(str, tup))
— Mo Beigi

27

aquí hay una manera fácil de usar join.

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

13

Esto funciona:

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

Producirá:

'abcdgxre'

También puede usar un delimitador como una coma para producir:

'a,b,c,d,g,x,r,e'

Mediante el uso:

','.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

3

La forma más fácil sería usar una combinación como esta:

>>> myTuple = ['h','e','l','l','o']
>>> ''.join(myTuple)
'hello'

Esto funciona porque su delimitador es esencialmente nada, ni siquiera un espacio en blanco: ''.


4
su "myTuple" es una lista por cierto
— bariod
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.