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'

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.

>>>

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

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

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


4
Ihr "myTuple" ist eine Liste übrigens
bariod
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.