Python конвертировать кортеж в строку

У меня есть набор символов, таких как:

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

Как мне преобразовать его в строку, чтобы это было похоже на:

'abcdgxre'

5 ответов

Использование 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.

>>>

Вот простой способ использовать соединение.

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

Это работает:

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

Это произведет:

'abcdgxre'

Вы также можете использовать разделитель как запятую для получения:

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

Используя:

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

Самый простой способ - использовать соединение следующим образом:

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

Это работает, потому что ваш разделитель по сути ничто, даже не пробел: ''.

Если просто использоватьstr()для кортежа, как показано ниже:

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

print(t, type(t))

s = str(t) # Here

print(s, type(s))

Можно изменить только типtupleкstrбез изменения значения, как показано ниже:

      ('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e') <class 'tuple'>
('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e') <class 'str'>
Другие вопросы по тегам