Python перетворює кортеж у рядок


98

У мене є набір таких персонажів:

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

Як перетворити його в рядок, щоб він виглядав так:

'abcdgxre'

1
Спробуйте такожreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan

що addв цьому прикладі @GrijeshChauhan?
Стів

@Steve Вам потрібно імпортувати addфункцію з operatorмодуля. Тут "".joinкраще підходить
Btw,

Відповіді:


165

Використання 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
Не працює, якщо кортеж містить цифри. Спробуйте tup = (3, None, None, None, None, 1406836313736)
Raj

56
Для номерів ви можете спробувати це:''.join(map(str, tup))
Пн Бейджі

27

ось простий спосіб використовувати приєднання.

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

13

Це працює:

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

3

Найпростішим способом було б використовувати join так:

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

Це працює, тому що ваш роздільник є по суті нічим, навіть не порожнім пробілом: ''.


4
ваш "myTuple" - це список btw
bariod
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.