2013-02-06 11 views
6

ich mich gefragt, ob es eine einfache Möglichkeit ist es, die folgenden zu tun:Wie ein Wort in Buchstaben in Python spalten

Eingang string:

input = 'Hello' 

Output-String:

output = 'H,e,l,l,o' 

Ich verstehe, dass Sie list(input) tun können, aber das gibt eine Liste zurück und ich wollte die Zeichenfolge anstelle der Liste abrufen.

Irgendwelche Vorschläge?

Antwort

19
In [1]: ','.join('Hello') 
Out[1]: 'H,e,l,l,o' 

Dies nutzt die Tatsache, dass Strings iterierbar sind und beim Iterieren die einzelnen Zeichen ergeben.

5
outputstr = ','.join(inputstr) 
0

Da NPE bereits die Methode ','.join('Hello') vorgesehen ist, ich habe eine andere Lösung (obwohl es nicht mehr Pythonic sein kann):

inputStr, outputStr = 'hello', '' 
for char in inputStr: outputStr += char + ',' 
print outputStr[:-1] 

Ausgang: 'h,e,l,l,o'.

+4

Ausgabe: 'h, e, l, l, o'. –

+0

@Legend Dort, änderte es: P –

+2

Es ist auch furchtbar langsam: Da Python-Strings unveränderlich sind, beinhaltet jede String-Verkettung das Erstellen eines neuen Strings und das Kopieren der beiden verketteten Strings hinein. –

Verwandte Themen