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'

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.

>>>

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

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

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


5
twoja "myTuple" to lista przy okazji
bariod
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.