如何将一个字符串列表连接成一个字符串?

例如,给定['this', 'is', 'a', 'sentence'],我如何得到"this-is-a-sentence"?


要在单独的变量中处理几个字符串,请参见如何在Python中将一个字符串附加到另一个字符串。

对于相反的过程-从字符串创建列表-请参阅如何将字符串分割为字符列表?或如何将字符串分割成单词列表?是合适的。


当前回答

我们可以指定如何连接字符串。我们可以用' '代替'-':

sentence = ['this','is','a','sentence']
s=(" ".join(sentence))
print(s)

其他回答

我们还可以使用Python的reduce函数:

from functools import reduce

sentence = ['this','is','a','sentence']
out_str = str(reduce(lambda x,y: x+"-"+y, sentence))
print(out_str)
list_abc = ['aaa', 'bbb', 'ccc']

string = ''.join(list_abc)
print(string)
>>> aaabbbccc

string = ','.join(list_abc)
print(string)
>>> aaa,bbb,ccc

string = '-'.join(list_abc)
print(string)
>>> aaa-bbb-ccc

string = '\n'.join(list_abc)
print(string)
>>> aaa
>>> bbb
>>> ccc
def eggs(someParameter):
    del spam[3]
    someParameter.insert(3, ' and cats.')


spam = ['apples', 'bananas', 'tofu', 'cats']
eggs(spam)
spam =(','.join(spam))
print(spam)

一种更通用的方法(也包括数字列表)将列表转换为字符串:

>>> my_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> my_lst_str = ''.join(map(str, my_lst))
>>> print(my_lst_str)
12345678910

我们可以指定如何连接字符串。我们可以用' '代替'-':

sentence = ['this','is','a','sentence']
s=(" ".join(sentence))
print(s)