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'>