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.