Python konvertiert Tupel in String

96

Ich habe ein Tupel von Charakteren wie diesen:

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

Wie konvertiere ich es in einen String, so dass es wie folgt aussieht:

'abcdgxre'
intel3
quelle
1
Versuchen Sie dies auchreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan
Was ist addin diesem Beispiel @GrijeshChauhan?
Steve
@Steve Sie müssen die addFunktion aus dem operatorModul importieren . Übrigens "".joinpasst hier besser, aber wenn Sie verschiedene Arten von Objekten hinzufügen möchten, können Sie add verwenden. Überprüfen Sie dieses Arbeitsbeispiel
Grijesh Chauhan

Antworten:

163

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

>>>

quelle
23
Funktioniert nicht, wenn das Tupel Zahlen enthält. Versuchen Sie tup = (3, keine, keine, keine, keine, 1406836313736)
Raj
56
Für Zahlen können Sie dies versuchen:''.join(map(str, tup))
Mo Beigi
27

Hier ist eine einfache Möglichkeit, join zu verwenden.

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

Das funktioniert:

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

Es wird produzieren:

'abcdgxre'

Sie können auch ein Trennzeichen wie ein Komma verwenden, um Folgendes zu erzeugen:

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

Durch die Nutzung:

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

Am einfachsten wäre es, join wie folgt zu verwenden:

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

Dies funktioniert, weil Ihr Trennzeichen im Wesentlichen nichts ist, nicht einmal ein Leerzeichen: ''.

W_water_m
quelle
4
Ihr "myTuple" ist eine Liste übrigens
bariod