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'
intel3
fuente
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.

>>>

fuente
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'))
Back2Basics
fuente
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'))
Buscador de la verdad
fuente
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: ''.

W_water_m
fuente
4
su "myTuple" es una lista por cierto
bariod