2016-02-14 49 views
0

我有名字的列表:轉換元素列表中的字符串

a = ['Maria','Luis','Andrea'] 

我想將它們放在一個字符串,所以我有這樣的:

names = '' 
for name in a: 
    names = names +',' ' ' + name 

有一個問題,在第一次迭代中,我在開頭添加了一個逗號和一個空格,我知道我可以刪除逗號和空格,但我寧願只是沒有它。

此外,這可以在lambda函數中完成嗎?

回答

2

這就是str.join方法是什麼:

​​

的方法concatinates全部來自可迭代的元素用字符串join被呼籲爲分離器。

一些例子:

>>> 'SEP'.join(a) 
'MariaSEPLuisSEPAndrea' 
>>> ''.join(a) 
'MariaLuisAndrea' 

它可以被看作是str.split對方:

>>> s = ', '.join(a) 
>>> s 
'Maria, Luis, Andrea' 
>>> s.split(', ') 
['Maria', 'Luis', 'Andrea'] 
6

str.join()句柄:

>>> a = ['Maria','Luis','Andrea'] 
>>> ", ".join(a) 
'Maria, Luis, Andrea' 
+0

難道你不覺得只是有點內疚回答明顯的重複,而不是投票關閉它們? – cimmanon

+0

@cimmanon你絕對有一個有效的點。我經常不會涉及到一般的Python,當我這樣做時,我通常會投票結束類似的情況,但是在這裏急忙回答。所以,是的,我感到內疚。謝謝 :) – alecxe

2

正確的Python的方式在其他的答案中給出的",".join(...)方法。然而,語言不可知方法會是這樣的:

for i in range(len(a)): 
    if i == 0: 
     names += a[i] 
    else: 
     names += ',' + a[i]