Python konwertuje krotkę na ciąg

101

Mam krotkę takich znaków:

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

Jak przekonwertować go na ciąg, aby wyglądał tak:

'abcdgxre'
intel3
źródło
1
Spróbuj tego równieżreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan
co jest addw tym przykładzie @GrijeshChauhan?
Steve,
@Steve Musisz zaimportować addfunkcję z operatormodułu. Przy okazji "".joinlepiej tu pasuje, ale jeśli chcesz dodać różne typy obiektów, możesz użyć dodaj Sprawdź ten przykład roboczy
Grijesh Chauhan

Odpowiedzi:

171

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

>>>

źródło
24
Nie działa, jeśli krotka zawiera liczby. Spróbuj tup = (3, None, None, None, None, 1406836313736)
Raj
57
W przypadku liczb możesz spróbować tego:''.join(map(str, tup))
Mo Beigi
27

tutaj jest łatwy sposób na użycie sprzężenia.

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))
Back2Basics
źródło
13

To działa:

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

Wyprodukuje:

'abcdgxre'

Możesz również użyć separatora, takiego jak przecinek, aby utworzyć:

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

Używając:

','.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))
Poszukiwacz prawdy
źródło
3

Najłatwiej byłoby użyć złączenia w następujący sposób:

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

To działa, ponieważ twój separator to w zasadzie nic, nawet spacja: ''.

W_water_m
źródło
5
twoja "myTuple" to lista przy okazji
bariod