2013-02-06 15 views
6

Zastanawiałem się, czy istnieje prosty sposób wykonać następujące czynności:Jak podzielić słowa na litery w Pythonie

ciąg wejściowy: String

input = 'Hello' 

wyjściowa:

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

Rozumiem, że możesz zrobić list(input), ale to zwraca listę i chciałem uzyskać ciąg zamiast listy.

Wszelkie sugestie?

Odpowiedz

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

Wykorzystuje to fakt, że łańcuchy są iterowalne i dają poszczególne znaki podczas iteracji.

0

Od NPE już przewidziane metody ','.join('Hello'), mam inne rozwiązanie (choć nie mogą być bardziej pythonowy):

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

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

+4

Wyjście: "h, e, l, l, o,". –

+0

@Legend There, changed it: P –

+2

Jest również strasznie powolny: ponieważ ciągi w języku Python są niezmienne, każda konkatenacja ciągów obejmuje tworzenie nowego ciągu znaków i kopiowanie do niego dwóch połączonych łańcuchów. –

Powiązane problemy