如何在字符串中高效地连接字符列表?
数据如下:
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'
顺便说一下,不要把 list
或 str
用作变量名,因为它们已经是内置函数的名字了。
(另外,Python里没有 char
这个类型。一个“字符”其实就是长度为1的字符串。所以 ''.join
方法也可以用于字符串列表。)