list = ['a','b','x','d','s']
我想创建一个字符串str = “abxds”。我怎样才能做到这一点?
现在我做这样的事情:
str = ""
for i in list:
str = str + i
print(str)
我知道字符串在Python不可改变的,这将创造7字符串对象。当我做几千次时,这会消失。
有没有更有效的方法来做到这一点?
list = ['a','b','x','d','s']
我想创建一个字符串str = “abxds”。我怎样才能做到这一点?
现在我做这样的事情:
str = ""
for i in list:
str = str + i
print(str)
我知道字符串在Python不可改变的,这将创造7字符串对象。当我做几千次时,这会消失。
有没有更有效的方法来做到这一点?
>>> theListOfChars = ['a', 'b', 'x', 'd', 's']
>>> ''.join(theListOfChars)
'abxds'
BTW,不要使用list
或str
变量名因为它们的内置函数的名称了。
(此外,还有在Python中没有char
。A“字符”只是一个长度为1的字符串,所以''.join
方法适用于串的名单。)
你正在寻找的东西是str.join()
:
>>> L = ['a','b','x','d','s']
>>> ''.join(L)
'abxds'
(不要将其命名您的变量list
,它是一个内置的名字)
KennyTM的答案是伟大的。另外,如果你想使他们逗号分隔或东西,它会是:
",".join(characterlist)
这会导致“A,B,X,d,S”
您应该避免使用“列表”作为列表的名称是一个内置的(和“str”相同) – Noah 2010-11-12 16:17:45
'str'对象在Python中是_immutable_,这就是为什么它为每个连接操作创建一个新的'str'对象。 – 2010-11-12 16:19:56
对不起,错字,字符串是不可变的 – rda3mon 2010-11-12 16:27:21