数据:
list = ['a','b','x','d','s']
我想创建一个字符串str =“abxds”。我怎么能这样做?
现在我正在做类似的事情:
str = ""
for i in list:
str = str + i
print(str)
我知道字符串在Python中是不可变的,这将创建7个字符串对象。当我做了好几千次时,这已经忘记了。
有更有效的方法吗?
答案 0 :(得分:12)
>>> theListOfChars = ['a', 'b', 'x', 'd', 's']
>>> ''.join(theListOfChars)
'abxds'
BTW,不要使用list
或str
作为变量名称,因为它们已经是内置函数的名称。
(另外,Python中没有char
。“字符”只是一个长度为1的字符串。因此''.join
方法也适用于字符串列表。)
答案 1 :(得分:4)
KennyTM的答案很棒。此外,如果你想让它们以逗号分隔或者某些东西,那就是:
",".join(characterlist)
这将导致“a,b,x,d,s”
答案 2 :(得分:2)
您正在寻找的是str.join()
:
>>> L = ['a','b','x','d','s']
>>> ''.join(L)
'abxds'
(不要将变量命名为list
,它是内置名称。)