如何在字符串中高效地连接字符列表?

5 投票
3 回答
22512 浏览
提问于 2025-04-16 06:59

数据如下:

list = ['a','b','x','d','s']

我想创建一个字符串 str = "abxds"。我该怎么做呢?

现在我正在做类似这样的事情:

str = ""
for i in list:
    str = str + i
print(str)

我知道在Python中字符串是不可变的,这样做会创建7个字符串对象。每当我这样做成千上万次的时候,这会占用我的内存。

有没有更有效的方法来做到这一点呢?

3 个回答

2

你要找的东西是 str.join()

>>> L = ['a','b','x','d','s']
>>> ''.join(L)
'abxds'

(不要把你的变量命名为 list,因为这是一个内置的名称。)

4

KennyTM的回答很不错。如果你想把它们用逗号隔开,或者其他什么方式,可以这样做:

",".join(characterlist)

这样的话,结果会是"a,b,x,d,s"

14
>>> theListOfChars = ['a', 'b', 'x', 'd', 's']
>>> ''.join(theListOfChars)
'abxds'

顺便说一下,不要把 liststr 用作变量名,因为它们已经是内置函数的名字了。

(另外,Python里没有 char 这个类型。一个“字符”其实就是长度为1的字符串。所以 ''.join 方法也可以用于字符串列表。)

撰写回答