2012-12-31 73 views
0

我有一個字符串列表,每個字符串都是一個字符。他們按照這個詞的順序。我如何將每個字符放在一個字符串中。例如:簡單的Python列表串聯

list_characters = ['H', 'e', 'l', 'l', 'o'] 

要成爲:

'Hello' 

請幫忙,謝謝您

回答

11
In [1]: s = ['H', 'e', 'l', 'l', 'o'] 

In [2]: ''.join(s) 
Out[2]: 'Hello' 

join方法是從別人不同的一點,你可能會熟悉你把元素你想用來'加入'元素在一起,然後調用該方法。下面是一些例子:

In [4]: print '\n'.join(s) 
H 
e 
l 
l 
o 

In [5]: ' '.join(s) 
Out[5]: 'H e l l o' 

In [6]: 'GOODBYE'.join(s) 
Out[6]: 'HGOODBYEeGOODBYElGOODBYElGOODBYEo' 

join方法接受任何「迭代」,這是什麼,你可以「迭代」過度(如列表,在你的例子)。字符串本身也iterables,所以你甚至可以這樣做:

In [7]: s = 'Hello' 

In [8]: 'Z'.join(s) 
Out[8]: 'HZeZlZlZo' 
0

您需要使用join()來連接列表中的所有元素到像這樣的字符串:

test = ['H', 'e', 'l' 'l', 'o'] 
''.join(test) 

如果你想加入用「 - 」在它們之間的字符,使用此:

test = ['H', 'e', 'l' 'l', 'o'] 
    '-'.join(test) 
2

雖然我強烈建議用如上述RocketDonkey提到的join()方法,另一種方法是這樣的:

reduce(lambda acc,x:acc+x,['H', 'e', 'l', 'l', 'o']) 
+0

+1替代品:) – RocketDonkey