Python converte tupla em string

98

Eu tenho uma tupla de caracteres como:

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

Como faço para convertê-lo em uma string para que fique assim:

'abcdgxre'
intel3
fonte
1
Experimente tambémreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan,
o que há addneste exemplo @GrijeshChauhan?
Steve
@Steve Você precisa importar a addfunção do operatormódulo. A propósito, é "".joinmelhor se adequar aqui, mas se você quiser adicionar diferentes tipos de objetos, você pode usar adicionar Verifique este exemplo de trabalho
Grijesh Chauhan

Respostas:

165

Use 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.

>>>

fonte
23
Não funciona se a tupla contiver números. Tente tup = (3, Nenhum, Nenhum, Nenhum, Nenhum, 1406836313736)
Raj
56
Para números, você pode tentar o seguinte:''.join(map(str, tup))
Mo Beigi
27

aqui está uma maneira fácil de usar o join.

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

Isso funciona:

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

Vai produzir:

'abcdgxre'

Você também pode usar um delimitador como uma vírgula para produzir:

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

Usando:

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

A maneira mais fácil seria usar o join desta forma:

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

Isso funciona porque seu delimitador é essencialmente nada, nem mesmo um espaço em branco: ''.

W_water_m
fonte
4
seu "myTuple" é uma lista
aliás